gpt4 book ai didi

javascript - jQuery 的命名空间如何工作?

转载 作者:行者123 更新时间:2023-11-28 14:02:19 24 4
gpt4 key购买 nike

Possible Duplicate:
What does this JavaScript/jQuery syntax mean?

我特别指的是当你这样做时:

(function ($) {
...
})(jQuery);

我以前从未见过这种语法。函数是如何被调用的?我明白当你这样做时:

jQuery(function ($) {
...
});

因为该函数被传递给 jQuery,当 DOM 准备好时,jQuery 可以运行作为参数传递的任何函数,但第一个不同。

最佳答案

What does this JavaScript/jQuery syntax mean? 的重复项

我将在这里发布我的答案,尽管 Jeff Attwood 似乎希望我们接受重复:( https://blog.stackoverflow.com/2010/11/dr-strangedupe-or-how-i-learned-to-stop-worrying-and-love-duplication/ )

<小时/>

在编写插件时使用此约定,以确保使用 $ 符号与其他 Javascript 库不发生冲突,同时确保插件作者仍然可以使用此符号:

(function($){
...
})(jQuery);

作者声明了一个带有单个参数 ($) 的匿名函数,然后立即调用它并向其传递 jQuery 对象。这确保了函数被调用并且其中的所有内容都被定义。

更长的符号可能是:

function MyDefs($){
...
}
MyDefs(jQuery);

尽管这会在全局命名空间中创建一个变量 MyDefs。匿名函数模式将全局命名空间留空,避免冲突。

关于javascript - jQuery 的命名空间如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4285594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com