将 $(docu...) 与内部定义的变量和函数一起使用,将其与函数一起使用,然后在 $(docu...) 中调用它,有什么区别/优势?
$(document).ready(function (){
initialize();
});
function initialize(){
hello
}
过度使用这个:
$(document).ready(function (){
hello
});
将 $(docu...) 与内部定义的变量和函数一起使用,将其与函数一起使用,然后在 $(docu...) 中调用它,有什么区别/优势?
$(document).ready(function (){
initialize();
});
function initialize(){
hello
}
过度使用这个:
$(document).ready(function (){
hello
});
这四个选项都会产生完全相同的结果,但灵活性会降低:
$(document).ready(function (){
initialize();
});
function initialize(){
hello();
}
$(document).ready(initialize);
function initialize(){
hello();
}
$(document).ready(function (){
hello();
});
$(document).ready(hello);
在第一个示例中,您正在创建一个匿名函数,该函数将在 document.ready 时调用。该匿名函数调用一个单独的函数initialize()
。因为initialize()
是一个单独的函数,它也可以被其他代码调用。
在第二个示例中,您只是避免使用匿名函数并initialize
直接传递对该函数的引用。initialize()
这比第一个示例稍微快一点(少一个函数调用),但如果您想从处理程序调用多个函数,则灵活性较差document.ready()
。
在第三个示例中,您只需删除外部initialize()
函数并调用它内部的一件事,它正在从匿名函数中执行。
在第四个示例中,匿名函数再次被删除,您只需传递对该hello
函数的直接引用,因此它将被直接调用而没有任何干预函数。
第一个选项为您提供了最大的灵活性,因为您可以在其中调用多个事物,initialize()
也可以initialize()
从程序中的其他位置调用。如果您不需要这些灵活性,您可以选择其他四个选项中的任何一个,因为它们都产生相同的结果,每个选项的灵活性都稍差一些。
在您的第一个示例中,您可以initialize
稍后再次使用该功能。如果将hello
代码直接放在$(document).ready()
's 函数中,则以后无法再次引用该代码。