为什么在$()中定义函数?

时间:2013-05-31 22:54:59

标签: javascript jquery

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

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

该功能的内涵完全可以理解。但是在$()中包装它的意义是什么?

4 个答案:

答案 0 :(得分:7)

$(fn)$(document).ready(fn)的快捷方式。

答案 1 :(得分:4)

$(function() {...});$(document).ready(function(){...});

的简写

这意味着只要DOM准备就绪,就会执行内部代码。 BTW的jquery语法,没有真正纯粹的javascript等价物。它不等同于jquery中写的window.onload = function(){...}$(window).load(function(){...});

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

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

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

答案 2 :(得分:1)

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

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

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

使用纯Javascript,您可以使用

实现相同的行为
document.addEventListener("DOMContentLoaded", fn, false);

jQuery docs:

An example on jsFiddle

答案 3 :(得分:0)

该表示法是$(document).ready(function() { ... });

的别名