【发布时间】:2013-03-04 13:51:18
【问题描述】:
嗯,我觉得这真的很有趣,当然,如果我要深入研究代码,我肯定会知道他们是如何做到的。我在说的是 JQuery 库。看看下面的代码 -
$.prototype.mymethod=function(str){
alert(str);
}
//now call the added method
$(document).mymethod('hello') //alert out hello
如果$是一个纯普通的javascript函数
(不使用 jquery 库),除非在 $ 之前添加 new 关键字,否则添加的方法不会按预期工作
new $(document).mymethod('hello')
但是对于 JQuery,new 关键字是非常可选的!
有人可以提供更多关于他们是如何做到这一点的见解,而无需我通过他们的图书馆吗?
编辑:
经过一番苦苦挣扎,我终于挖出了上述工作原理的实际根源机制(构建一个
JavaScript 对象
不使用new
关键词)!我相信这对于任何想要学习高级 javascript 的人来说都是一个很好的未来参考!
function a(){
return a.prototype;
}
a.prototype.fn=function(){
alert('hello')
}
a.prototype.test=123;
console.log(a().test)//123
a().fn()//alerts out hello
【问题讨论】:
标签: javascript jquery