我已经知道将 Javascript 包装在这样的函数中的优点:
(function () {
// code goes here
}())
但我已经看到一些脚本通过将包装函数传递给 jQuery 对象来实现这一点:
$(function () {
// blah blah blah blah blah
});
这样做有什么好处,还是只是个人喜好问题?并且这样做是否会否定对 的需要$(document).ready()
?
我已经知道将 Javascript 包装在这样的函数中的优点:
(function () {
// code goes here
}())
但我已经看到一些脚本通过将包装函数传递给 jQuery 对象来实现这一点:
$(function () {
// blah blah blah blah blah
});
这样做有什么好处,还是只是个人喜好问题?并且这样做是否会否定对 的需要$(document).ready()
?
第一个
(function () {
// code goes here
}())
第二个功能是jquery
具体的。
.ready() 方法只能在匹配当前文档的 jQuery 对象上调用,因此可以省略选择器。
.ready() 方法通常与匿名函数一起使用:
$(document).ready(function() {
// Handler for .ready() called.
});
这相当于调用:
$(function() {
// Handler for .ready() called.
});
(function(){}())
是一个 IIFE(立即调用函数表达式),只是一个正在执行的函数
$(function(){})
,当浏览器准备好时,它是一个 jQuery 回调
我经常不得不将 jQuery 添加到上面有 mootools 的网站上,以避免 $ 冲突,我会这样做:
;(function($, app, undefined){
// code here
}(jQuery, myApp = window.myApp || {}))