Codecamp学习笔记(一)

1.

更改原型时,切记要设置构造函数属性

手动将原型设置为新对象有一个关键的副作用。它会擦除该constructor属性!此属性可用于检查哪个构造函数创建了实例,但是由于该属性已被覆盖,因此现在给出错误的结果:

duck.constructor === Bird;
duck.constructor === Object;
duck instanceof Bird;

为了,这些表达式将评估为falsetruetrue

要解决此问题,每当将原型手动设置为新对象时,请记住定义constructor属性:

Bird.prototype = {
  constructor: Bird,
  numLegs: 2,
  eat: function() {
    console.log("nom nom nom");
  },
  describe: function() {
    console.log("My name is " + this.name); 
  }
};
上一篇:javaagent的简单使用


下一篇:不懂就看!P7大牛珍藏的Java反射详解笔记,从入门到实践太香了