1

我遇到了一个公共 JavaScript 片段,其中包含以下代码行:

$(function() {
    var v1, v2;
    v1 = new V1;
    return v2 = new V2(v1);
});

该功能的胆量是完全可以理解的。但是将其包装在 a 中的意义是$()什么?

4

4 回答 4

7

$(fn)$(document).ready(fn).

于 2013-05-31T22:56:21.480 回答
4

$(function() {...});是的简写$(document).ready(function(){...});

这意味着一旦 DOM 准备好,里面的代码就会被执行。顺便说一句,它的 jquery 语法,没有真正的纯 javascript 等价物。它不等同于window.onload = function(){...}在 jquery 中写的:$(window).load(function(){...});.

不要被 javascript 中使用的自动调用匿名函数所迷惑:

(function(){...})()

或者 (function(){...}())

于 2013-05-31T22:56:50.490 回答
1

$( fn )是 的快捷方式,在加载 DOMContent 时$(document).ready( fn )执行。fn

.ready文档中,您可以看到这 3 个是等效的

$(document).ready(handler)
$().ready(handler) // this one is not recommended
$(handler)

使用纯 Javascript,您可以使用

document.addEventListener("DOMContentLoaded", fn, false);

jQuery 文档:

一个关于 jsFiddle 的例子

于 2013-05-31T23:44:35.237 回答
0

该符号是$(document).ready(function() { ... });

于 2013-05-31T22:59:58.603 回答