ReferenceError:严格模式禁止在for循环中隐式地创建全局属性

ReferenceError: Strict mode forbids implicit creation of global property in for loop on promise

本文关键字:创建 属性 全局 循环 for 模式 禁止 ReferenceError      更新时间:2023-09-26

我遇到了一个很奇怪的问题。我试图在承诺返回值上执行for循环。当我运行jasmine测试中的代码时,它会中断。当我从浏览器中运行它时,它会崩溃。代码是....

courseService.getCourseDates(8).then(function (data) {
            console.log(data[0]);  --this works
            console.log(data[1]);  --this works
            for (s in data) {
                console.log(data[s]);
            }
}
预期

输出:

'2014-06-14T00:00:00'
'2014-06-14T00:00:00'
'2014-06-14T00:00:00'
'2014-06-14T00:00:00'

Karma/Jasmine的实际输出:

ReferenceError:严格模式禁止隐式创建全局变量属性"s"

实际浏览器输出:

ReferenceError: s is not defined

有谁知道怎么回事吗?我以前用过这样的for循环显然数组正在被填充好了....

试试这个:

for (var s in data) {
    ...
}