其他分享
首页 > 其他分享> > Codecamp学习笔记(一)

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); 
  }
};

标签:nom,duck,笔记,学习,Codecamp,constructor,构造函数,Bird,属性
来源: https://www.cnblogs.com/zisi/p/14730077.html