Dr.*_*ein 23 javascript jquery
以下假设是否准确?
1)立即执行
(function(){
})();
Run Code Online (Sandbox Code Playgroud)
2)执行文件就绪
$(document).ready(function(){
});
Run Code Online (Sandbox Code Playgroud)
3)准备好文件的简写
$(function(){
});
Run Code Online (Sandbox Code Playgroud)
4)准备文件的替代速记,以避免交叉脚本冲突
(function($) {
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
Nic*_*ver 19
是的,你的定义是正确的,前3个:)
虽然,除非你需要一个闭包,一个语句会立即执行,没有理由像#1一样包装它(肯定有很多有效的时间你需要一个闭包,只要注意你是否......它是多余的).
但是数字4不正确,(function($) { })(jQuery);没有绑定任何事件,它只是一个闭包所以$ === jQuery在它内部,所以你可以使用$快捷方式:
(function($) {
//You may use $ here instead of jQuery and it'll work...even if $ means
//something else outside of this closure, another library shortcut for example
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
这是你要找的#4:
jQuery(function ($) {
});
Run Code Online (Sandbox Code Playgroud)
它将在document.ready上运行,在命名空间内运行,jQuery定义为$.
| 归档时间: |
|
| 查看次数: |
10989 次 |
| 最近记录: |