-
写法3: (function(window, undefined) { var jQuery = function() {} // ... window.jQuery = window.$ = jQuery; })(window); 从上面的代码可看出,自动初始化这个函数,让其只构建一次。详细说一下这种写法的优势: 1、window和undefined都是为了减少变量查找所经过的scope作用域。当window通过传递给闭包内部之后,在闭包内部使用它的时候,可以把它当成一个局部变量,显然比原先在window scope下查找的时候要快一些。 2、undefined也是同样的道理,其实这个undefined并不是JavaScript数据类型的undefined,而是一个普普通通的变量名。只是因为没给它传递值,它的值就是undefined,undefined并不是JavaScript的保留字查看全部
-
jQuery一共13个模块,从2.1版开始jQuery支持通过AMD模块划分,jQuery在最开始发布的1.0版本是很简单的,只有CSS选择符、事件处理和AJAX交互3大块。其发展过程中,有几次重要的变革: ☑ 1.2.3 版发布,引入数据缓存,解决循环引用与大数据保存的问题 ☑ 1.3 版发布,它使用了全新的选择符引擎Sizzle,在各个浏览器下全面超越其他同类型JavaScript框架的查询速度,程序库的性能也因此有了极大提升 ☑ 1.5 版发布,新增延缓对像(Deferred Objects),并用deferred重写了Ajax模块 ☑ 1.7 版发布,抽象出回调对象,提供了强大的的方式来管理回调函数列表。查看全部
-
其中会用到的正则: //分组 var rcomma = /^[\x20\t\r\n\f]*,[\x20\t\r\n\f]*/; //关系符 var rcombinators = /^[\x20\t\r\n\f]*([>+~]|[\x20\t\r\n\f])[\x20\t\r\n\f]*/; //空白 var whitespace = "[\\x20\\t\\r\\n\\f]";查看全部
-
Then done查看全部
-
Deffered查看全部
-
Deffere查看全部
-
DOM文档加载步骤: 1.解析HTML结构 2.加载外部脚本和样式表文件 3.解析并执行脚本代码 4.构造HTML DOM模型 5.加载图片等外部文件 6.页面加载完毕查看全部
-
end()和addBack()都是对堆栈的操作,end()的方法是返回上一个执行上下文的范围,而addBack()是将当前选择的上下文全部push进这个堆栈中,组成一个数组对象,pushStack的实现 pushStack: function( elems ) { // 创建一个新的jquery匹配元素集合 var ret = jQuery.merge(this.constructor(), elems); //把旧对象放进这个堆栈中 ret.prevObject = this; ret.context = this.context; return ret; }查看全部
-
需要调用链式的使用方法。=> 在这个原型方法最后添加 return this;查看全部
-
var jQuery = function(selector, context){<br> return new jQuery.prototype.init(selctor, context);<br> }<br> <br> jQuery.prototype = { init: function() { } } //因为new的实例是指向这个构造函数的原型的 //当我们外面在使用init出来的构造函数的时候,其this是指向jQuery.prototype.init.prototype这个构造函数上的, //这时候我们想要继续使用this调用jQuery上的静态方法的时候就需要将jQuery.prototype 上的方法传递给init.prototype jQuery.prototype.init.prototype = jQuery.prototype;查看全部
-
function show(data) { $("body").append('<li>' + data + '</li>') } (function(window){ //自自行函数 show('wuhaihua'); })(window) $(function(){//jquery 对象调用的函数 show('wuhaihua2'); }); $(document).ready(function(){}); $//代表是jquery语言 $(document).ready( function(){ //html document加载完成后执行这个函数 show('wuhaihua3'); } ); //jquery() 9种调用方式==== $() 1.jQuery([selector,[context]]) 2.jquery(element) 3.jquery(elementArray) 4.jquery(object) 5.jQuery(jquery object) 6.jquery(html,[ownerDocument]) 7.jQuery(html,[attributes]) 8.jquery() 9.jquery(callback)查看全部
-
jquery.js prototype.js //如果$的引用是prototype实现的 if( prototype$ ) { //jquery执行的代码 var window._$ = $; //使用了jquery的noConflict //旧引用的$被保存到jquery的初始化中 if( window.$ === jQuery ) { window.$ = _$; } }查看全部
-
为了只让aQuery值实例一次,所以我构造了一个在aquery上的init方法,然后将aQuery构造一次,然后将所有的方法全都放在init的原型上去,在把init原型的方法直接赋值给aQuery的原型上去,这样aQuery只需要构造一次,就有了各种调用的方法,返回的就是init构造方法。查看全部
-
工厂模式-创建一个工厂,然后需要什么零件或者方法的时候,就去new这个方法,需要什么调用什么,工厂中已经把所有需要的方法都已经实现。<br> var CarFactory = (function() { var Car = function(model, size, year) { this.model = model; this.size = size; this.year = year; }; return function(model, size, year) { return new Car(model, size, year); } ])(); var a = new CarFactory("Tom", 14, 2016); 简易理解版: var product = {}; product.createProductA = function() { }; product.createProductB = function() { }; product.factory = function(type) { return new product[type]; } product.factory("createProductA");查看全部
-
这里没怎么看懂查看全部
举报
0/150
提交
取消