微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Javascript插件设计模式就像jQuery

有人可以在 javascript中写下一个非常简单的基本示例来概念化(并希望让我理解)jQuery插件设计模式是如何完成的以及它是如何工作的?

我对如何为jQuery创建插件不感兴趣(所以在这里根本没有jQuery代码).
我对一个简单的解释(可能有一些Javascript代码)感兴趣,以解释它是如何完成插件概念的.

Plz不回复我去阅读jQuery代码,我试过,但我太复杂了,否则我不会在这里一个问题.

谢谢!

解决方法

jQuery有一个存储在名为fn的内部对象中的函数库.这些是你可以在每个jQuery对象上调用的.

当你执行$(“div.someClass”)时,你得到一个包含所有< div>的jQuery对象.那个班级的元素.现在你可以做$(“div.someClass”).each(someFunction)将someFunction应用到它们中的每一个.这意味着,each()是存储在fn中的函数之一(在本例中为内置函数).

如果扩展(添加到)内部fn对象,则会自动使用相同的语法提供自定义函数.让我们假设您有一个将所有元​​素记录到控制台的函数,称为log().您可以将此函数附加到$.fn,然后将其用作$(“div.someClass”).log().

附加到fn对象的每个函数都将以这样的方式调用:在函数体内,this关键字将指向您使用的jQuery对象.

通常的做法是在自定义函数的末尾返回它,这样方法链不会破坏:$(“div.someClass”).log().each(someFunction).

有几种方法可以将函数附加到$.fn对象,有些方法比其他对象更安全.一个非常安全的方法是:

jQuery.fn.extend({
  foo: function() {
    this.each( function() { console.log(this.tagName); } );
    return this;
  }
})

原文地址:https://www.jb51.cc/jquery/156810.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐