Javascript for循环中的函数被另一个for循环调用
Javascript for loop in a function called by another for loop
我见过很多人嵌套for循环的例子,他们改变了他们的增量变量(I,j,k)。
for(var i=0;i<array.length;i++){
for(var j=0;j<array.length;j++){
for(var k=0;k<array.length;k++){
}
}
}
所以我的问题是为什么不从一个for循环调用一个函数,它有一个for循环内部不会导致增量变量的碰撞?这是因为javascript的函数作用域的性质,或者它是冲突的,我只是没有遇到问题。例子:
for(var i=0;i<array.length;i++){
callFunction()
}
function callFunction(){
for(var i=0;i<arry.length;i++){
console.log(i)
}
}
我不知道为什么adeneo没有把它作为一个答案,但它确实与范围有关。对比:
function first() {
var i = 2;
console.log(i);
}
function second() {
var i = 3;
console.log(i);
first();
}
每个函数中的i
变量都包含在函数中,因此变量不会冲突。如果你使用了全局变量(i = 3
而不是var i = 3
),那么它们就会发生冲突。
如果你想要一些关于javascript和作用域规则的资料,请查看这个问题或这些链接:
- https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Functions_and_function_scope
- http://coding.smashingmagazine.com/2009/08/01/what-you-need-to-know-about-javascript-scope/
相关文章:
- 为什么JavaScript在for循环为3时向所有4发出警报
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 我的javascript for循环不起作用
- For循环冻结Javascript
- 如何在for循环中添加事件侦听器
- 双“for”循环(循环)
- javascript for循环不起作用
- for循环中的javascript if语句找不到==
- Javascript在for循环中等待处理请求
- For循环在Jquery中只运行一次
- 如何在for循环中使用计数器
- for循环中的JavaScript闭包
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- For循环在调用时未运行
- 如何使用for循环添加所有按钮'单击事件
- 如何更改在for循环中生成的圆的位置
- 为什么这个For循环会使浏览器实验室崩溃
- 为什么我使用javascript获得了一个无限的for循环
- 在for循环中使用多维数组设置google.maps.Marker图标
- 如何在angularJS中运行for循环而不使用html标记