为什么我可以在调用函数时控制原型内的属性

时间:2017-03-14 16:53:42

标签: javascript function inheritance prototype

嗨,我是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。为什么会这样。 ?

0 个答案:

没有答案