This question already has answers here:
jQuery document.ready vs self calling anonymous function
                            
                                (5个答案)
                            
                    
                5年前关闭。
        

    

我测试过一些东西,这真的很奇怪。

当我使用时:

jQuery(document).ready(function ($){
     console.log($('.box').length);
});


返回值为4;

如果我使用这个:

 (function ($){
     console.log($('.box').length);
})(jQuery);


返回值为0;

(在同一文档中)

有什么解释吗?

(我曾尝试在jsfiddle中重现,但两者都返回相同的值。)

最佳答案

您的第二个示例将使函数中的代码在解析整个总体语句时运行。 jQuery版本将等待,直到DOM被完全解析并填充为止。换句话说,这两段代码是完全不同的。

关于javascript - JavaScript中的未命名函数不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25023664/

10-11 13:42
查看更多