首先要说明这是完全可行的,因为jquery中就是这么做的但我总是理解不了。哪位大神能说一下自己的见解,总觉得这样不对或者别扭
1 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
首先,之所以
var jQuery = function(selector,context){return new jQuery.fn.init(selector,context,rootjQuery);}
是为了我们直接jQuery('div')
就能获得jQuery对象,而不用按常规的 new JQ('div') 每次 要用一个就是自己new那么麻烦。
但是呢,既然这么做了,那我总得保证得到的是一个jQuery实例吧,这样的话,init方法要作为一个构造函数的话,其原型prototype应该跟jQuery的原型一致,也就是指向同一个,这样我init new了之后,得到的对象才能调用到jQuery里的方法呀~
多琢磨一下 原型链?虽然我也觉得有点绕,哈哈
最近在看网易云课堂视频关于jquery源码讲解,大概就是这么个解释,有兴趣也可以去看看 妙味课堂的
添加回答
举报
0/150
提交
取消