javascript对象内方法的原型是对象自己?
阿神
阿神 2017-04-11 13:02:06
[JavaScript讨论组]

首先要说明这是完全可行的,因为jquery中就是这么做的

但我总是理解不了。哪位大神能说一下自己的见解,总觉得这样不对或者别扭

阿神
阿神

闭关修行中......

全部回复(2)
天蓬老师

首先,之所以

var jQuery = function(selector,context){return new jQuery.fn.init(selector,context,rootjQuery);}

是为了我们直接jQuery('p')就能获得jQuery对象,而不用按常规的 new JQ('p') 每次 要用一个就是自己new那么麻烦。

但是呢,既然这么做了,那我总得保证得到的是一个jQuery实例吧,这样的话,init方法要作为一个构造函数的话,其原型prototype应该跟jQuery的原型一致,也就是指向同一个,这样我init new了之后,得到的对象才能调用到jQuery里的方法呀~

多琢磨一下 原型链?虽然我也觉得有点绕,哈哈

最近在看网易云课堂视频关于jquery源码讲解,大概就是这么个解释,有兴趣也可以去看看 妙味课堂的

ringa_lee

基本网上任何分析JQ源码的系列,第一篇就会讲这个,你可以去看看。

另外,总觉得别扭,那你就把你JQ最常用的写法列出来,然后在JQ源码中去掉你认为别扭的地方,看看是什么结果,你一下就会明白人家为什么要这么写了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号