instanceof原理:通过原型链判断

您所在的位置:网站首页 原型链的原理 instanceof原理:通过原型链判断

instanceof原理:通过原型链判断

2024-07-14 06:00:10| 来源: 网络整理| 查看: 265

1. instanceof 是什么?instanceof 是用来判断左侧对象是否是右侧构造函数的实例化对象,或则说左侧对象能否通过其隐式原型 **[[proto]]**在原型链上一层层向上查找到右侧函数的原型对象,即函数原型对象出现在实例对象的原型链上就返回 true。 通俗的理解: 右侧是不是左侧的爸爸、爷爷、祖宗,只要左侧对象继承自右侧函数就为 true; instanceof 使用方式: object instanceof 构造函数, 它有两个必传参数,左侧必须为对象类型,右侧必须为函数类型。返回值为 Boolean 类型。 注:js中万物皆对象,可能会误导大家出现这种写法: 'str' instanceof String,返回值为false,因为 ‘str’ 就是简单的字符串,它和通过String构造函数(new String('str'))创造出来的字符串是有区别的,可自行在控制台打印出来看,其值会封装成String对象类型的字符串,同理 new Number(3) instanceof Number, new Boolean(true) instanceof Boolean ……等等返回值为true  

数组 则可以直接这样写:[1,2] instanceof Array // true

函数:function test () {}  test instanceof Function // true 总结如下:基本数据类型只有通过对应类型构造函数创建出来成对象形式,才会是对应类型构造函数实例(true),直接写基本数据类型值则不是(false),毕竟上面有说到instanceof是用来判断左侧是不是右侧的实例对象,你连对象类型都不是怎么可能为true呢;引用类型可以直接作为左侧实例对象继承自右侧构造函数,返回值为true,如上面数组。

上面有讲到其判断的原理是:通过左侧对象的隐式原型属性 __ proto __ 在原型链上向上一层层查找,找到右侧构造函数的原型对象属性 prototype 就返回 true。明白这一点也就很容易写出自己的 instanceof,注:需要借助循环来实现。

 



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭