栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript变量是在循环内部还是循环内部声明?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript变量是在循环内部还是循环内部声明?

绝对没有区别 意义还是性能,在Javascript或Actionscript。

var
是解析器的指令,而 不是
运行时执行的命令。如果
var
在函数体(*)中的任何位置一次或多次声明了特定的标识符,则该标识符在块中的所有使用将引用局部变量。
value
声明是
var
在循环内部,循环外部还是同时声明这两者都没有区别。

因此,您应该写出最容易阅读的内容。我不同意Crockford的观点,将所有var放在函数顶部始终是最好的选择。对于在代码部分中临时使用变量的情况,最好

var
在该部分中进行声明,因此该部分可以独立存在并且可以复制粘贴。否则,在重构过程中将几行代码复制粘贴到新函数中,而无需分别挑选并移动关联的
var
,这会使您自己成为意外的全局对象。

特别是:

for (var i; i<100; i++)    do something;for (var i; i<100; i++)    do something else;

Crockford将建议您删除第二个

var
(或同时删除
var
s和do
vari;
),而jslint会为此向您请教。但是IMO将两个都
var
保留在一起,将所有相关代码保持在一起,而不是在函数顶部保留一些容易忘记的额外代码,是更可维护的。

我个人倾向于将

var
变量声明为代码的独立部分中的第一个赋值,无论是否在同一函数的其他部分中单独使用了同一变量名。对我来说,
var
根本不需要声明是JS
wart(最好将变量默认设置为local)。我不认为我也有责任在Javascript中复制ANSI C的旧版本的限制。

(*:除了嵌套函数体中)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/464643.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号