JSMock的奇怪问题

有人可以解释这里发生了什么,以及如何解决它?我正在使用JSMock,并在
spec.js
中执行以下代码:
for (var t in []) {
    alert(t)
}
...导致我的浏览器警告“eachIndexForJsMock”(当它不应该执行
alert
命令时)。这搞乱了我的
for each
循环。我如何解决它?     
已邀请:
问题是JSMock增加了
Array.prototype
对象。
for-in
语句用于枚举对象属性,对于数组和array-like1对象,总是建议使用迭代循环,例如:
for (var i = 0; i < arr.length; i++) {
  //...
}
你应该避免在类似数组的对象上使用
for-in
,因为: 不保证迭代的顺序,可能无法按数字顺序访问索引。 还枚举了继承的属性。 也可以看看: 迭代VS枚举 [1]类似数组的意思是任何包含顺序编号属性和
length
属性的对象。     

要回复问题请先登录注册