我遇到了一个包含以下代码行的公共JavaScript片段:
$(function() {
var v1, v2;
v1 = new V1;
return v2 = new V2(v1);
});
该功能的内涵完全可以理解。但是在$()
中包装它的意义是什么?
答案 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:
答案 3 :(得分:0)
该表示法是$(document).ready(function() { ... });