在以下 Java 代码段中,范围i
仅限于for
循环内部。这就是为什么它会导致错误。但是,在类似的 JS 片段中,i
显然可以在循环之外访问。这怎么可能?
爪哇:
for(int i=0;i<10;i++) {
...
}
System.out.println(i);
输出:“我没有定义”
JS:
for(var i=0;i<10;i++) {
...
}
console.log(i);
输出:10
我没想到会看到 JS 的输出。我想知道 JS 与 Java 有何不同。JavaScript 变量作用域是如何工作的?