各位注意:
var _jQuery = window.jQuery,
_$ = window.$;
这段代码是放到Jquery的最前面,不然就保存不到window.$原先的内容了
var _jQuery = window.jQuery,
_$ = window.$;
这段代码是放到Jquery的最前面,不然就保存不到window.$原先的内容了
2016-10-07
非常棒的理解,看到就转了下哈
理解:1.$(),jQuery()是执行一个函数,$和jQuery是函数名称,这个函数返回的是一个对象,所以里面是一个new表达式,但是名字不能是自己,否则无限循环。2.既然不是自己,其实可以理解为jQuery()返回的不是jQuery对象,而是jQuery.fn.init(一个名字而已)对象。3.但是为了统一和方法/属性的共用(理解原型链),jQUuery这样处理,jQuery.fn.init.prototype = jQuery.prototype.
后面还有4.............不能超过3000字
理解:1.$(),jQuery()是执行一个函数,$和jQuery是函数名称,这个函数返回的是一个对象,所以里面是一个new表达式,但是名字不能是自己,否则无限循环。2.既然不是自己,其实可以理解为jQuery()返回的不是jQuery对象,而是jQuery.fn.init(一个名字而已)对象。3.但是为了统一和方法/属性的共用(理解原型链),jQUuery这样处理,jQuery.fn.init.prototype = jQuery.prototype.
后面还有4.............不能超过3000字
确实经典,$.data 与 $().data,公用同一个方法,internalData()很巧妙的分开,内部使用;外部使用包括$.data 与 $().data两种方法,根据传递dom与jquery的不同,两种模式存储,赞赞,mark
2016-10-06
作用域是函数和变量的可访问范围,作用域控制函数和变量的可见性,而作用域链是函数建立过程中,与之对应变量对象(variable object)的集合
上下文的建立阶段,先是处理arguments, 参数,接着是函数的声明,最后是变量的声明,会把变量自动赋值为undefined,所以var aQuery2=function(){} 为undefined, 而 function aQuery1(){} 正常输出
2016-10-02
https://github.com/jquery/jquery/blob/10399ddcf8a239acc27bdec9231b996b178224d3/src/core/ready.js#L80
2016-09-30
看源码发现左侧代码是有问题的。源码可以很清楚的看到callback.call里是传入了index(i)的值的。源码是if ( isArrayLike( obj ) ) {
length = obj.length;
for ( ; i < length; i++ ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
}
length = obj.length;
for ( ; i < length; i++ ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
}
2016-09-30
需要在var results = document.querySelectorAll(selector);后面加上这一句this.length = results.length;
2016-09-30