jQuery初始化

jQuery 初始化的理解

var jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
}

上面代码需要搭配

jQuery.fn.init.prototype = jQuery.prototype;

这里等于是把jQuery的原型赋给了jQuery.fn.init这个初始化方法的原型,然后通过返回 new jQuery.fn.init()这个初始化方法,避免了手动执行初始化方法这一步。

这样放回的这个对象,就可以使用jQuery上面的方法和属性

 

---------------------------------------------------------------------------------分割线

jQuery.fn = jQuery.prototype = function(){
constructor:jQuery
}
上面为什么要添加这么一句话 constructor:jQuery

假设:
var A = function(){}
现在就回自动生成一个:A.prototype.constructor = A

1. A.prototype.name = 'zz';

2. A.prototype = {
'name' : 'zz'
}

1的情况是往构造函数A的原型上添加一个name的属性 本身的A.prototype.constructor 是不会被修改的
2的情况是把一个对象{'name':'zz'}赋值给A.prototype 现在A的constructor就直接指向{}的构造函数Object了
到后面需要使用extend或者别的方式往jQuery的原型上挂载属性或方法的时候 constructor就不会指向到别的地方去了
posted @ 2016-03-27 18:50  zc_tiny  阅读(386)  评论(0编辑  收藏  举报