276 探索instanceof

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>05_探索instanceof</title>
</head>

<body>
    <!--
1. instanceof是如何判断的?
  * 表达式: A instanceof B 【A是实例对象,B是构造函数。】
  * 如果B函数的显式原型对象在A对象的原型链上, 返回true, 否则返回false
2. Function是通过new自己产生的实例
-->
    <script type="text/javascript">
        /*
                                                                  案例1
                                                                   */
        function Foo() {}
        var f1 = new Foo()
        console.log(f1 instanceof Foo) // true
        console.log(f1 instanceof Object) // true

        /*
        案例2
         */
        console.log(Object instanceof Function) // true 【Object是个函数类型,这很明显嘛】【这里Object是实例对象,Function是构造函数,Object/Object()是new Function产生的,Object作为一个函数来说,是new Function产生的】 【因为Object也是构造函数,所以Object/Object()是new Function产生的吗?】
        console.log(Object instanceof Object) // true 【前面的Object是个实例对象,后面的Object是个构造函数。】
        console.log(Function instanceof Function) // true 【大写的Function是new Function产生的。】
        console.log(Function instanceof Object) // true

        function Foo() {}
        console.log(Object instanceof Foo) // false
    </script>
</body>

</html>

posted on 2020-01-30 21:35  冲啊!  阅读(115)  评论(0编辑  收藏  举报

导航