各位大侠后,请教个问题如下:
看到webuploader例子中用到的代码
(function($) {
$(function() {
...
});
})(jQuery);
为何不直接写成
$(function() {
.............
});
外面嵌套一层,有什么好处呢?
同样的,下面这种写法又有什么好处呢?
(function( factory ) {
if ( !window.jQuery ) {
alert('jQuery is required.')
}
jQuery(function() {
factory.call( null, jQuery );
});
})(function( $ ) {
..............
})();
(function($){...})(jQuery)用来定义一些需要预先定义好的函数
$(function(){ })则是用来在DOM加载完成之后运行\执行那些预行定义好的函数.
好处有
1 避免全局依赖;
2 避免第三方破坏;
3 兼容jquery操作符"$"和jquery;