(function($){...})(jQuery)
是一个常见的Javascript编程语言中的IIFE(Immediately Invoked Function Expression)的写法,可以用来避免jQuery与其他Javascript库产生的命名冲突问题,同时可以保证代码的作用域等问题。
这一段代码是将一个匿名函数用圆括号包裹起来,然后紧接着在最后一对括号后再加上一对括号,并将jQuery作为参数传递给这个函数。这样做的目的是使这个匿名函数立即执行,而不必另外调用。在执行时,将jQuery作为参数传递给这个匿名函数,可以使得这个函数内部的$符号代表jQuery这个对象,从而避免$符号与其他Javascript库中的$符号产生的冲突问题。
以下是两个示例说明:
示例1:
(function($){
$(function(){
// jQuery DOM ready
});
})(jQuery);
这个代码段的作用是在jQuery加载完成之后,当DOM已经准备好时,执行某些操作,比如展开一个菜单或者弹出一个模态框等等。如果只是用$(function(){...});的写法,当jQuery与其他Javascript库一起使用时,可能会产生$符号的冲突问题。而使用(function($){...})(jQuery)
的写法,就可以避免这种问题的产生。
示例2:
var myNamespace = myNamespace || {};
(function($, ns){
ns.myFunction = function(){
// do something
};
})(jQuery, myNamespace);
这个代码段的作用是将一个函数作为myNamespace对象的一个方法,从而扩展myNamespace对象。使用(function($, ns){...})(jQuery, myNamespace)
的写法,可以避免$符号与命名空间ns对象的冲突问题。函数内部使用ns.myFunction定义了一个名为myFunction的函数,并赋值给了ns对象,从而实现了函数的扩展。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:(function($){…})(jQuery)的意思 - Python技术站