将js代码包装到.ready()两次合理吗?

时间:2017-04-23 09:30:41

标签: javascript jquery

我看到某处的代码片段如下所示:

$(document).ready(function(){
    (function($){ $.fn.disableSelection = function() {
        return this.attr('unselectable', 'on')
                   .css('user-select', 'none')
                   .on('selectstart', false); }; })(jQuery);

})

如你所知,这个

$(document).ready(function(){

和这个

(function($){

是完全相同的。那么程序员为什么要这样做呢?上面的代码中是不是(function($){多余了?

1 个答案:

答案 0 :(得分:4)

  

如你所知,这个

     

(文档)$。就绪(函数(){

     

和这个

     

(函数($){

不,他们并不完全相同。他们有不同的目的。

当html文档准备就绪时,第一个获取处理程序。

(function(){...})();将在脚本中遇到后立即执行。

第二个是自动执行功能。这并不等待文件准备好。

  

Isn&#t; t(函数($){在上面的代码中是多余的?

我同意(function($){是多余的。没有必要这样做。