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

时间:2014-05-08 17:51:01

标签: javascript q

我有一个非常奇怪的问题。我试图在promise返回值上执行for循环。当我从茉莉花测试中运行代码时,它会中断。当我从浏览器运行它时,它会中断。代码是....

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:严格模式禁止隐式创建全局   财产'

实际浏览器输出:

ReferenceError: s is not defined

任何人都知道什么是错的?我过去曾经使用过像这样的循环,显然阵列正在填充好......

1 个答案:

答案 0 :(得分:2)

试试这个:

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