3 回答
TA贡献1995条经验 获得超2个赞
当DOM(Document对象模型)准备好执行JavaScript代码时,将执行以下代码。
$(document).ready(function(){
// Write code here
});
以上代码的简写是:
$(function(){
// write code here
});
下面显示的代码是一个自我调用的匿名JavaScript函数,一旦浏览器解释它就会执行:
(function(){
//write code here
})(); // It is the parenthesis here that call the function.
下面显示的jQuery自调用函数将全局jQuery对象作为参数传递给function($)。这使得$可以在自调用函数中本地使用,而无需遍历定义的全局范围。jQuery不是唯一可以使用的库$,因此可以减少潜在的命名冲突。
(function($){
//some code
})(jQuery);
TA贡献1797条经验 获得超6个赞
$(document).ready(function(){ ... });
或短$(function(){...});
当这个函数被调用时
DOM is ready
,你可以开始查询元素。.ready()
将在不同的浏览器上使用不同的方式来确保DOM真的准备就绪。(function(){ ... })();
这只不过是一个在浏览器解释时尽快调用自身的函数
ecma-/javascript
。因此,你不太可能成功地在DOM elements
这里采取行动。
TA贡献1155条经验 获得超0个赞
$(document).ready(function() { ... });
简单地将该函数绑定到ready
文档的事件,因此,正如您所说,当文档加载时,事件会触发。(function($) { ... })(jQuery);
实际上是Javascript的构造,并且所有代码片段都将jQuery
对象function($)
作为参数传递并运行函数,因此在该函数内部$
始终引用该jQuery
对象。这有助于解决命名空间冲突等问题。
因此,#1在文档加载时执行,而#2立即运行,jQuery
对象名为$
shorthand。
添加回答
举报