Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript while循环中未定义的变量_Javascript_Google Apps Script - Fatal编程技术网

Javascript while循环中未定义的变量

Javascript while循环中未定义的变量,javascript,google-apps-script,Javascript,Google Apps Script,无法通过以下代码找出我出现此错误的原因: 执行失败:TypeError:无法从未定义中读取属性“1”。(第201行,文件“代码”) 如果我将storageCount变量更改为整数,则可以正常工作。我无法理解为什么storageCount变量在记录器中工作,但在while循环中未定义。该错误意味着: storageArray[storageCount] 是未定义的。因此,试图访问未定义的[1]是一个类型错误 您还创建了一个可能的无限循环: while (storageArray[storage

无法通过以下代码找出我出现此错误的原因: 执行失败:TypeError:无法从未定义中读取属性“1”。(第201行,文件“代码”)

如果我将storageCount变量更改为整数,则可以正常工作。我无法理解为什么storageCount变量在记录器中工作,但在while循环中未定义。

该错误意味着:

storageArray[storageCount]
未定义的
。因此,试图访问
未定义的[1]
是一个
类型错误


您还创建了一个可能的无限循环:

while (storageArray[storageCount][1] != 'End') {}

因此,即使没有
类型错误
,这也只是一个无限循环,因为如果条件是
!='结束'
,则它永远不会改变,因此将永远循环。

看起来您有意创建了一个无限循环。是否存在通过更改
storageArray
来恢复循环的其他异步事件?我会看那里,我创建了无限循环来通过那个点。循环根本不执行,错误表示storageArray[storageCount]未定义,但在其上面两行的记录器中,相同的内容返回true。它与[1]一起工作。我搞不懂的是,为什么同一件事不是两行都没有定义。@allanquartz-我想知道日志记录是否让你感到困惑。有时,日志记录捕获对象引用,然后在实际代码运行后异步使用它会出现问题(
console.log()
在某些情况下在Chrome中存在此问题)。我建议在调试器中设置一个断点,然后观察它的执行情况,看看到底发生了什么。
类型错误
不存在。在调试器中一行一行地遍历它不会说谎。日志记录可能存在时间问题。您还可以尝试使用
Logger.log(JSON.stringify(storageArray[storageCount]))
。正是无限循环将storageCount发送到了数组长度之外。
storageArray[storageCount]
while (storageArray[storageCount][1] != 'End') {}