这是什么意思?:
(function($){
})(jQuery);
使用它的原因是什么? 感谢。
答案 0 :(得分:2)
您正在使用函数在javascript中创建新范围(因为{}不会创建新范围)。然后,您立即调用此函数并从外部范围捕获JQuery
,并将其作为变量$
答案 1 :(得分:2)
这是一个自我执行闭包(自执行功能)。
在这里,您将jQuery传递给此自执行函数,该函数将jQuery映射到美元符号。 因此,它不能被执行范围内的另一个库覆盖。
您需要在编写新插件时编写此类语法,因为您希望将代码封装在单独的命名空间中
答案 2 :(得分:1)
(function($) {
$(function() {
// more code using $ as alias to jQuery
});
})(jQuery);
// other code using $ as an alias to the other library
恢复$ alias,然后创建并执行一个函数,在函数范围内提供$作为jQuery别名。在函数内部,原始$对象不可用。这适用于大多数不依赖任何其他库的插件。
答案 3 :(得分:1)
这是一个自动执行的匿名函数。此函数在加载时自行执行。
这意味着:
// but execute itself
function ($) {
// to-do
}
答案 4 :(得分:0)
将$
传递给function
可防止与其他libraries
冲突,
<!-- Using the $ inside an immediately-invoked function expression. -->
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
jQuery.noConflict();
(function( $ ) {
// Your jQuery code here, using the $
})( jQuery );
//Passing jQuery from here prevents $ variable which is also used by prototype
</script>