在JS中,所有的数组对象,都继承自一个对象:
Array.prototype
而这个对象,又继承自另一个对象:
Object.prototype
这就是所谓的“原型链”。
JS独特的“原型式继承”方式。
那它和当前的这个问题有什么关系呢?
如果用迭代语句迭代数组对象。
它首先会迭代数组本身。
然后呢,它会沿着“原型链”向上爬。
如果父对象中有可迭代属性,那么就会被迭代出来。
所以,杨成猜测:
很有可能某个父对象被人篡改了!