猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
源码,为什么要将jquery.prototype.constructor赋值为jquery本身?
就算不赋值的话,jquery.prototype.constructor不是也等于jquery么?
莫回无
浏览 844
回答 3
3回答
四季花海
在读<<JavaScript设计模式>>继承部分章节时看到的译者注:/** 译者注:定义一个构造函数时,其默认的prototype对象是一个Object 类型的实例,* 其constructor属性会被自动设置为该构造函数本身。* 如果手工将其prototype 设置为另外一个对象,* 那么新对象自然不会具有原对象的constructor值,* 所以需要重新设置其constructor 值。*/
0
0
0
拉风的咖菲猫
jQuery.fn.init.prototype = jQuery.fn;通过原型传递解决问题,把jQuery的原型传递给jQuery.prototype.init.prototype换句话说jQuery的原型对象覆盖了init构造器的原型对象因为是引用传递所以不需要担心这个循环引用的性能问题
0
0
0
九州编程
你说的对,但是你注意看源码,prototype是个对象字面量{}。对象字面量的constructor就不是jquery了,所以需要重新指明。jQuery.fn = jQuery.prototype = {}
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JQuery
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续