JavaScript-在哪里声明变量和定义函数?
哪一个更好:JavaScript-在哪里声明变量和定义函数?,javascript,Javascript,哪一个更好: var foo = 0, fnFoo = function (bar) { "use strict"; // Do stuff }; $(document).ready(function () { "use strict"; fnFoo(foo); }); 或 区别在于变量/函数声明的位置。在这种情况下,假设只有ready事件需要使用foo和fnFoo如果只有ready事件需要它,则将其放入ready中。这
var foo = 0,
fnFoo = function (bar)
{
"use strict";
// Do stuff
};
$(document).ready(function ()
{
"use strict";
fnFoo(foo);
});
或
区别在于变量/函数声明的位置。在这种情况下,假设只有
ready
事件需要使用foo
和fnFoo
如果只有ready
事件需要它,则将其放入ready
中。这就是封装的全部要点。尽可能限制对变量的访问,以减少代码中的错误。如果您后来意外地声明了另一个foo
或fnFoo
,会发生什么情况
不仅如此,它还使您的代码更易于理解。这意味着您确切地知道每个变量的用途和位置。一定要使用后一种情况,因此1。这些变量与使用它们的代码一起分组,以及2。您的VAR不会污染全局范围。您只需等待文档准备就绪,以便
jQuery
知道DOM
已完全设置,从而可以访问表单字段和其他DOM
对象。因此,除非您的函数
需要访问DOM
元素,否则我将在$(文档)之前声明页面范围的var
s和函数。准备好了吗(…
块,并且,当您知道它们起作用时,将代码移出到单独的脚本文件中,特别是当函数
将在web的其他部分重用时。仅当就绪
回调之外还有其他代码也需要这些函数/var时。否则,它应该包装在jquery插件中。var fnFoo=function(bar){…};
->function fnFoo(bar){…}
$(document).ready(function ()
{
"use strict";
var foo = 0,
fnFoo = function (bar)
{
"use strict";
// Do stuff
};
fnFoo(foo);
});