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

jQuery简洁的语法解释

我刚从Syncfusion下载了jQuery Succinctly免费电子书( here)并开始查看示例.

我看到很多这类事情:

<script> (function ($)
{
    $('a').mouseenter(
        function () { alert(this.id); });
})(jQuery);
</script>

我不确定为什么作者使用这种语法. $object被传递给匿名函数?为什么?什么是匿名函数后面的(jQuery)?

这只是一种避免与其他图书馆冲突的方法吗?在我看来,这些例子可以写得更“简洁”:)

谢谢.

解决方法

它创建了一个闭包,其中$=== jQuery,即使$.noConflict()用于删除全局jQuery $.

这使您可以始终使用$而无需关心用户是否是例如还使用了一个框架,如原型,也使用$.

闭包还有一个优点,即你的变量/函数不是全局的,除非你明确地将它们设为全局(通过不使用var并将函数附加到窗口或此对象)

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

相关推荐