为什么要声明$(function(){...})?

3 javascript jquery

我正在寻找的应用程序加载一个外部javascript文件,如下所示:

$(function () {

    // Don't allow browser caching of forms
    $.ajaxSetup({ cache: false });

    var dialogs = {};

    var getValidationSummaryErrors = function ($form) {
        // We verify if we created it beforehand
        ...
        ...
        }
        return errorSummary;
    };
Run Code Online (Sandbox Code Playgroud)

我知道该文件设置了一些变量,并且还声明了一个名为getValidationSummaryErrors的函数.

我不明白的是为什么这一切都在内

$(function () {  ... }
Run Code Online (Sandbox Code Playgroud)

这是为了什么目的?我可以不在没有"$(function(){}"的情况下在平面文件中声明变量和内容吗?

dtb*_*rne 7

$(function() { ... });它只是简称$(document).ready(function() { ... });,它确保在DOM准备好之前不执行代码,否则一些影响DOM的代码可能无法正常工作.

http://api.jquery.com/ready/

  • 这正是为什么我宁愿看到人们使用`$(document).ready(function(){...})`而不是`$(function(){...});`因为前者是这样的它的作用更加明显. (2认同)