我用 JavaScript 编程已经有几年了,但我从来没有理解不同的技术在 JavaScript 中是如何工作的,只是它有效..
现在,在正确学习了原型和构造函数的工作原理之后,我在着手为自己的网站制作自己的(不可公开访问的)插件之前,先看看 jQuery 来学习一些东西。
问题只是我不明白它是如何工作的。这是一个几乎可以工作的示例:http: //jsfiddle.net/3zWvR/1/
(function() {
test = function(selector) {
return new test.prototype.init(selector);
}
test.prototype = {
init: function(selector) {
alert("init ran");
if (!arguments[0]) {
return this;
}
}
}
// As I understand the jQuery code, the next line should really be
// test.prototype = {
test.prototype.init.prototype = {
send: function() {
alert("send ran");
}
}
window.ob = test;
})()
ob().send();
我在那里评论了一行,显示了我认为如果我像 jQuery 那样做的话,我认为真正应该存在的东西。但是我无法复制它,以便您也可以执行 ob.method() ...
jQuery“框架”或骨架是如何构建的,它是如何工作的?