有人能否用javascript写一个非常简单的基本示例来概括(并希望让我理解)jQuery插件设计模式是如何完成和工作的?
我对如何为jQuery创建插件不感兴趣(因此这里完全没有jQuery代码)。我感兴趣的是一个简单的解释(可能带有一些Javascript代码),以解释插件概念是如何实现的。
请不要回答让我去读jQuery代码,我试过了,但它太复杂了,否则我就不会在这里发问了。
谢谢!
有人能否用javascript写一个非常简单的基本示例来概括(并希望让我理解)jQuery插件设计模式是如何完成和工作的?
我对如何为jQuery创建插件不感兴趣(因此这里完全没有jQuery代码)。我感兴趣的是一个简单的解释(可能带有一些Javascript代码),以解释插件概念是如何实现的。
请不要回答让我去读jQuery代码,我试过了,但它太复杂了,否则我就不会在这里发问了。
谢谢!
jQuery.fn.extend({
foo: function() {
this.each( function() { console.log(this.tagName); } );
return this;
}
})
Tomalak已经发布了几乎所有你需要知道的内容。
还有一件事可以帮助jQuery使用this关键字。
它是一个叫做apply()的方法。
var somefunction=function(){
alert(this.text);
}
var anObject={text:"hello"};
somefunction.apply(anObject);
//alert "hello" will happen
它真的有助于创建抽象,以便框架/插件用户可以根据直觉使用this,无论您的代码中有什么
它使用JavaScript原型导向,像许多其他JS框架一样,可以正常工作。
例如,您可以声明一个简单的函数
var alertHelloWorld = function() {
alert('hello world');
}
然后将其绑定到现有对象(包括DOM节点)
document.doMyAlert = alertHelloWorld;
如果你这样做
document.doMyAlert();
将执行alertHelloWorld函数
您可以在这里阅读有关JavaScript对象原型的更多信息