instanceof 操作符的解释为:定义instanceof 运算符用于测试构造函数的prototype属性是否出现在对象的原型链的任意位置。
1.作用:判断一个引用是否属于某个构造函数或者继承关系中判断一个实例是否属于他的父类型。
2.判断逻辑:从当前引用的proto一层一层顺着原型链往上找,看能否找到对应的prototype.
3.使用方法 : objece instanceof constructor
object 指的是测试对象,constructor 指的是构造函数。判断object 的原型链上是否有constructor.prototype.如果object是constructor的一个实例,就返回true;否则就返回false

  1. 实现instanceof:
    1. function _instanceof(obj,fun){
    2. let f =fun.prototype;
    3. obj =obj._proto_;
    4. while(true){
    5. if(obj === null){
    6. return false;
    7. }
    8. if(f === obj){
    9. return true
    10. }
    11. obj =obj._proto_;
    12. }
    13. }
    5.与typeof的异同
    相同点:都可以判断变量类型
    不同点: instanceof 只能判断对象、函数、数组,不能判断字符串,不能判断字符串和数字等;而typeof可以用于判断一个表达式的原始值

6:例子

  1. function F(){};
  2. function H(){};
  3. var f =new F();
  4. var h =new H();
  5. console.log(f instanceof F) //true
  6. console.log(f instanceof H); false
  7. console.log(f instanceof Object);//true
  8. console.log(F.prototype instanceof Object);///true

会前材料

不开没有准备的会。基于材料提前异步沟通、可以给会议带来惊人的提效。

📑 产品需求文档

会议议题

简要记录本次会议的主要议题讨论。

  • 议题1…
  • 议题2…
  • 议题3…

    会议结论

    不开没有结论的会。哪怕“方案取消”或“下次再议”,也是结论的一种。

  • 结论1…

  • 结论2…
  • 结论3…

    执行计划

    设置后续待办任务,可使用 @人分配执行人。

  • [ ] 待办任务1

  • 待办任务2