我写的所有代码都是最长的时间......
$(document).ready(function(){
$('.show_module').click(function(){
});
...
});
Run Code Online (Sandbox Code Playgroud)
在那里放置各种点击处理程序.但最近我被介绍了一种新的做事方式,我想要了解它是否是一种明智的方式.
我们的想法是让所有处理程序都在相关的函数中,然后在document.ready中使用最少的代码.
所以例如......
$(document).ready(function(){
page_handler(); // other functions follow
});
function page_handler(){
$('.show_module').click(function(){
});
...
}
Run Code Online (Sandbox Code Playgroud)
这似乎允许在函数中组织相关的处理程序并使用document.ready作为更多的初始化程序.
我知道在JavaScript函数中,变量在代码开始执行之前就被"提升"了
do_something();
function do_something(){
}
Run Code Online (Sandbox Code Playgroud)
因为这个原因,因为函数在do_something()被实际调用之前就可以使用了,即使它出现在实际的函数定义之前.
我想知道这里是否发生了同样的事情以及这种想法/做事方式的"好".
这会将所有处理程序暴露给global(window)范围,这可能会导致冲突.
我更喜欢这样做......
(function($) {
// Anything you do in here won't be attached to window.
var a;
// If you must have something global, set it explicitly
window.doSomething = function() { ... }
// We can also use $ for jQuery here, even if we have used jQuery.noConflict()
$('body')...
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1240 次 |
| 最近记录: |