Bro*_*iLD 0 javascript variables scope for-loop
我有两个功能,让我们说:
getCustomers() - 获取客户列表getCustomerDetials() - 获取每个客户的详细信息
我运行getCustomers()并且该功能在其自身内运行getCustomerDetails()...显然,我需要列出所有客户及其详细信息.
所以,这是一个过程.
getCustomers() 通过每个客户ID加载所有客户ID和循环的列表:
for(i = 0; i < array_count; i++);
Run Code Online (Sandbox Code Playgroud)
getCustomerDetails(id)在找到的每个客户上解雇.
getCustomerDetails 然后运行自己的内部循环:
for(i = 0; i < array_count; i++);
Run Code Online (Sandbox Code Playgroud)
遍历每个细节.
问题:我有两个相同的for循环,它们从父函数和内部运行的函数运行.
基本上,似乎我的内部循环"i"变量更新循环"i"变量的父级,它永远不会完成!
我将内部函数的循环"i"变量更改为i2,一切都很好.
很抱歉很长的解释,但我只是想说清楚这是正常和预期的结果?或者我的代码出了什么问题?
我已经处理了几种语言(我是一名经验丰富的PHP和AS2程序员),我之前从未遇到过这种情况......尽管如此,我在JS方面并不是那么好.
我认为在函数内声明的变量保持在本地?
他们是这样; 问题是你没有在函数内声明你的变量.
使用var关键字声明变量:
for (var i = 0; i < array_count; i++)
Run Code Online (Sandbox Code Playgroud)
如果没有此关键字,则表示您正在使用全局变量.
这应该包含在您的JavaScript书中.你在用哪一个?
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |