嗨,我是javascript的初学者,我写了一个简单的代码来学习javascript原型继承
var Person = function(name) {
this.name = name;
};
Person.prototype.isPerson = true;
var person = new Person('Smith');
// DOT(person,'name') should return Smith
// DOT(person,'isPerson') should true;
var DOT = function(obj, pro) {
if (obj.hasOwnProperty(pro)) {
console.log(obj[pro]);
} else {
// return DOT(obj.__proto__,pro)
}
};
console.log(person['isPerson']);
DOT(person, 'name');
DOT(person, 'isPerson');

在这段代码中我有一个疑问,在最后一行调用的DOT函数不会返回true但是我可以在控制台console.log(person [' isPerson'])时返回true。为什么会这样。 ?