JavaScript的原型和原型链(四)

作者: 自然框架 | 来源:发表于2021-07-04 20:29 被阅读0次

    非常佩服各平台的推送功能,也不知道他们是怎么知道我对原型感兴趣的,这几天各种推送。
    看了看,还是挺晕的,发现个问题,越是专业的越是晕。

    所以还不如来个外行的看着清晰。所以来一个外行的图:

    总图

    感觉可以把Object.prototype 看着是一个基类,存放基础的几个方法。

    因为 window.Object.prototype.proto 是 null,所以可以作为原型链的起点。

    Object 和 Function

    • 先打印一下:
    Object和Function

    似乎好像没啥区别。。。

    • 看看原型:
    原型

    对比一下原型,可以发现区别。。。

    • 原型链
    原型链

    对比原型链,可以发现 Object 是 Function 的“基类”

    Function

    那么 Function 是个啥呢?

    可以把 Function 本身当做一种方法,可以直接执行一些指令,也可以看做是一个创建过程,创建的结果是啥呢?当然就是 Object 的对象。好吧,我不知道这个应该如何描述。

    我们可以用 typeof 验证一下:

    function fun1 () {}
    
    console.log(typeof fun1)
    console.log(typeof fun1())
    
    
    验证

    fun1的 type 是 Function。
    fun1的运行结果,由于没有返回值(return)所以是 undefined。

    • 再来看看 fun1 的原型
    fun1的原型

    首先 fun1 有一个自己的原型,然后原型链指向 Object 的原型。可以看做是一个“继承”的关系。

    未完待续。。。

    相关文章

      网友评论

        本文标题:JavaScript的原型和原型链(四)

        本文链接:https://www.haomeiwen.com/subject/qsyuultx.html