扫码关注官方订阅号
首先要说明这是完全可行的,因为jquery中就是这么做的
但我总是理解不了。哪位大神能说一下自己的见解,总觉得这样不对或者别扭
闭关修行中......
首先,之所以
var jQuery = function(selector,context){return new jQuery.fn.init(selector,context,rootjQuery);}
是为了我们直接jQuery('p')就能获得jQuery对象,而不用按常规的 new JQ('p') 每次 要用一个就是自己new那么麻烦。
jQuery('p')
但是呢,既然这么做了,那我总得保证得到的是一个jQuery实例吧,这样的话,init方法要作为一个构造函数的话,其原型prototype应该跟jQuery的原型一致,也就是指向同一个,这样我init new了之后,得到的对象才能调用到jQuery里的方法呀~
多琢磨一下 原型链?虽然我也觉得有点绕,哈哈
最近在看网易云课堂视频关于jquery源码讲解,大概就是这么个解释,有兴趣也可以去看看 妙味课堂的
基本网上任何分析JQ源码的系列,第一篇就会讲这个,你可以去看看。
另外,总觉得别扭,那你就把你JQ最常用的写法列出来,然后在JQ源码中去掉你认为别扭的地方,看看是什么结果,你一下就会明白人家为什么要这么写了。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
首先,之所以
是为了我们直接
jQuery('p')就能获得jQuery对象,而不用按常规的 new JQ('p') 每次 要用一个就是自己new那么麻烦。但是呢,既然这么做了,那我总得保证得到的是一个jQuery实例吧,这样的话,init方法要作为一个构造函数的话,其原型prototype应该跟jQuery的原型一致,也就是指向同一个,这样我init new了之后,得到的对象才能调用到jQuery里的方法呀~
多琢磨一下 原型链?虽然我也觉得有点绕,哈哈
最近在看网易云课堂视频关于jquery源码讲解,大概就是这么个解释,有兴趣也可以去看看 妙味课堂的
基本网上任何分析JQ源码的系列,第一篇就会讲这个,你可以去看看。
另外,总觉得别扭,那你就把你JQ最常用的写法列出来,然后在JQ源码中去掉你认为别扭的地方,看看是什么结果,你一下就会明白人家为什么要这么写了。