function Animal(name, numLegs) {
//console.log(this) //{}
this.name = name;
this.numLegs = numLegs;
// console.log(this) //{ name: 'Captain Cook', numLegs: 2 }
//console.log(penguin) //{ name: 'Captain Cook', numLegs: 2 }
//console.log(typeof(this)) //object
//console.log(typeof(penguin)) //object
//console.log(this===penguin)//flase
console.log(this==penguin);//flase
}
// create the sayName method for Animal
Animal.prototype.sayName = function() {
//console.log("Hi my name is"+ " " + this.name);
//console.log(this) //{ name: 'Captain Cook', numLegs: 2 }
//console.log(this===penguin) //true
};
// provided code to test above constructor and method
var penguin = new Animal("Captain Cook", 2);
penguin.sayName();
..................................... .................................................. .................................................. ...................... 为什么this==penguin
即使两个值相等也是错误的?请详细说明一下 .................. .................................................. .................................................. ..............................................虽然两个数值相等,但是返回false
非常感谢你对你的好解释!!!!!!! – rcodeman
@ rcodeman:很高兴帮助!如果这个(或其他答案)*回答了你的问题,你可以点击你想接受的答案旁边的复选标记以表明它已被接受。这将问题从“未回答的问题”列表中删除。更多[here](/ help/someone-answers)。 –