【发布时间】:2015-11-30 13:43:30
【问题描述】:
在 javascript 中,变量只有函数作用域。所以它要么是全局的,要么是在整个函数中可访问的变量,而不管它是在哪里声明的(在函数内)。
我猜最佳做法是在 'use strict'; 之后立即在顶层声明所有变量?
如果我有 5 个循环声明相同的 i var,会发生什么?
for (var i = 0; i < someValue; i+=1) { ... }
变量是简单地重置为 0 还是循环设置它的初始值并且一切继续?这会引起并发症吗?
【问题讨论】:
-
变量声明被提升到顶部,因此在顶部声明
var = 0就可以了,然后在每个循环中i = 0只是重新初始化该行上的变量,这样就不会了不会引起并发症,这是否是好的做法是另一个问题。 -
我建议在控制台上玩一下并自己测试一下。
-
@JoãoGonçalves 到目前为止,我听说的所有 JS 都告诉我,它往往会做很多并不总是立即引人注目的微妙事情。我怕养成坏习惯 JS 比我见过的任何其他语言都多。
标签: javascript variables scope variable-declaration