08.使用instanceof验证对象的构造函数

说明

任何时候,一个构造函数创建一个新的对象,该对象会被认为是它的构造函数的一个  instance

JavaScript 提供了一种方便的方法来验证它:instanceof 运算符。

instanceof 允许你将对象与构造函数进行比较,根据该对象是否使用构造函数创建,返回  true 或  false

以下是一个例子:

var Bird = function( name, color ) {
  this.name = name;
  this.color = color;
  this.numLegs = 2;
}

var crow = new Bird("Alexis", "black");

crow instanceof Bird; // => true

如果在不使用构造函数的情况下创建对象,instanceof 将验证它不是该构造函数的实例:

var canary = {
   name: "Mildred",
   color: "Yellow",
   numLegs: 2
};
canary instanceof Bird; // => false


练习

创建一个  House 构造函数的新实例,命名为  myHouse 并传递一些参数。然后,使用  instanceof 来验证它是否为  House 的实例。

  1. myHouse 应该有一个设置为数值的  numBedrooms 属性
  2. 确保使用  instanceof 运算符验证  myHouse 是  House 的一个实例。

答案

方法 描述
new 创建一个用户定义的对象类型实例或具有构造函数的内置对象实例
let 声明一个块级作用域的本地变量,并且可选的将其初始化为一个值。
this 当前执行代码的环境对象
instanceof 用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链
/* jshint expr: true */

function House(numBedrooms) {
this.numBedrooms = numBedrooms;
}

// Add your code below this line
let myHouse = new House(1440);
myHouse instanceof House;

运行结果

true

发布了56 篇原创文章 · 获赞 1 · 访问量 821

猜你喜欢

转载自blog.csdn.net/weixin_44790207/article/details/104985117
今日推荐