function Animal(name) {
this.name = name
this._init()
this._add()
}
Animal.prototype._init = function() {
this.food = []
console.log(this.food)
}
Animal.prototype._add = function() {
console.log(1)
this.food.push('fish')
this.food.push('mouse')
console.log(2)
}
var a = new Animal('cat')
执行结果为:
我的问题是:_add方法在_init方法后执行,为什么输出this.food的时候已经被赋值?想不明白,希望有人帮助我理解下b( ̄▽ ̄)d,感谢!
这样就清楚了,和执行顺序没关系,你点开的时候,点的是一个引用。