jQuery创建插件的代码理解

发布于 2022-10-15 09:34:56 字数 1304 浏览 30 评论 0

转:玄歌  

jQuery创建插件的代码理解
创建jQuery插件,基本的格式是上面这段代码:

  1. (function ($)
  2. {
  3.     //add code here
  4. })(jQuery)

复制代码我们怎么理解?

第一步:function ($){}定义了一个匿名的函数,有一个参数,$是参数名,和其他的参数名没什么区别。

第二步:(function ($){})(jQuery)

    我们要执行一个匿名函数的时候,通常用var func = function ($) { },然后func(参数)这样的形式。这里func就是一个Function对象。但更简洁的(function ($) {}),这时用括号,也同样返回括号的内容,也是一个function对象。我们再执行就可以了:(function ($) {})(jQuery)

第三步:这时我们实际上是执行上面定义的匿名函数,执行的时候为该匿名函数提供一个参数值:jQuery。

第四步:所以最终上面的表达等价于:

var func = function($) { };

func(jQuery);

即定义匿名函数,并以jQuery为参数执行一次。

这里的作用是什么呢?

1、解决$符号冲突问题

jQuery中我们用$来代替jQuery,这是为了简化写法。但$这个符号有时候会冲突。

在上面匿名函数的代码中,我们可以习惯性的用$来写,但执行的时候会用jQuery来代替,这就避免了变量的冲突。

2、解决闭包问题:

    一般直接写在脚本里的函数,执行后其中未销毁的变量是继续存在,并能够正常访问的。这个和我们一向理解的函数私有变量是不符的。

    但我们用这种方式,将需要的所有函数都包在这个匿名函数里,则其中的局部变量,在外部将不能访问,变相的起到了创建私有的局部变量的作用。只有this.开头的那些成员,才是插件外部可以访问的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文