instanceof 操作符的解释为:定义instanceof 运算符用于测试构造函数的prototype属性是否出现在对象的原型链的任意位置。
1.作用:判断一个引用是否属于某个构造函数或者继承关系中判断一个实例是否属于他的父类型。
2.判断逻辑:从当前引用的proto一层一层顺着原型链往上找,看能否找到对应的prototype.
3.使用方法 : objece instanceof constructor
object 指的是测试对象,constructor 指的是构造函数。判断object 的原型链上是否有constructor.prototype.如果object是constructor的一个实例,就返回true;否则就返回false
- 实现instanceof:
5.与typeof的异同function _instanceof(obj,fun){let f =fun.prototype;obj =obj._proto_;while(true){if(obj === null){return false;}if(f === obj){return true}obj =obj._proto_;}}
相同点:都可以判断变量类型
不同点: instanceof 只能判断对象、函数、数组,不能判断字符串,不能判断字符串和数字等;而typeof可以用于判断一个表达式的原始值
6:例子
function F(){};function H(){};var f =new F();var h =new H();console.log(f instanceof F) //trueconsole.log(f instanceof H); falseconsole.log(f instanceof Object);//trueconsole.log(F.prototype instanceof Object);///true
会前材料
不开没有准备的会。基于材料提前异步沟通、可以给会议带来惊人的提效。
会议议题
简要记录本次会议的主要议题讨论。
