javascript - for 循环声明,这两个语句相等吗?

标签 javascript

语句1

var i = 0;
for (; i < 10 ; i++);

语句2

for (var i = 0 ; i < 10 ; i++);

这两个语句相等吗?

最佳答案

不,这两个示例在功能上没有区别。

但是,语句 2 可能会引起困惑。这是因为 i 的作用域不限于 for block ,它可以在 for 循环之外访问,这可能会导致全局作用域受到污染。

只要确保在像语句 1 一样使用变量时跟踪变量即可。
就我个人而言,我更喜欢这样的东西:

var i;

for(i = 0; i < 10; i++){
    // Do stuff
}

for(i = 0; i < 20; i++){
    // Do other stuff
}

这样,您将始终正确设置迭代器。

关于javascript - for 循环声明,这两个语句相等吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25887801/

相关文章:

javascript - JavaScript 中的代码组织 : MVC? 自渲染组件?

javascript - 如何从json中获取输入来绘制图形

javascript - 鼠标悬停时在另一个图像之上显示图像

javascript - 动态生成图像的 src 未定义

javascript - 无法让 .innerHTML 工作

JavaScript 模块模式与示例

javascript - 我正在尝试编写一个函数来随机化一个数字(范围 0..100),然后打印从 40 到该数字的所有奇数

javascript - "crop"图像的脚本间歇性运行。

javascript - 哪些工具(不是插件)可用于创建可在运行时操作的动画?

javascript - 如果等于其他输入值则更改输入值