如何恢复在jQuery中使用别名$呢 (function($){})(jQuery)

刚才看到一问题“(function($){})(jQuery); 是什么意思,jQuery的插件常常可以见到,后面的jQuery去掉的话就出错了~~~;一直不理解,麻烦解答~~~~”,想回答,但是密码总是不对,还是放到豆瓣来了。 

在web开发中可能会同时使用多个javascript库。除了jQuery之外,其他javascript也可能会使用$别名来创建对象。 

若要确保jQuery不会与其他库的$对象发生冲突,可以通过运行noConflict函数将变量$的控制权让渡给第一个实现它的那个javascript库。 

jQuery.noConflict(); 

那如何恢复在jQuery中使用别名$呢? 
方法是创建并执行一个函数,在这个函数的作用域中仍将$作为jQuery的别名来使用。 

具体代码如下: 

jQuery.noConflict(); 

(function($){ 
$(function(){ 
//使用$作为jQuery别名的代码 
}); 
})(jQuery); 

//所以最后面的(jQuery)不能去掉,去掉的话,代码里面的$可能会成为其他js库的别名。

实际执行:

(funtion(){})();

立即执行函数;

相当于先申明一个函数,声明完后直接调用;

如果参数如:
(funtion(str){alert(str)})("output"));

相当于:

funtion OutPutFun(str){alert(str);};

OutPutFun("output");

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

相当于:function fun($){…};fun(jQuery);

这种方法多用于存放开发的插件,执行其中的代码时,Dom对象并不一定加载完毕。于此相反的是$(function(){}),这种方法在使用时页面的Dom对象已经加载完毕了。事实上该方法的全写是:$(document).ready(function(){});

原文地址:https://www.cnblogs.com/specification/p/3614105.html