美文网首页
原型与原型链

原型与原型链

作者: Keller7 | 来源:发表于2018-09-26 11:08 被阅读0次
    全局对象

    ECMAScript 规定全局对象叫做 global,但是浏览器把 window 作为全局对象(浏览器先存在的)

    window 就是一个哈希表,有很多属性。

    window 的属性就是全局变量。
    在浏览器下, window 的属性可以分为两类:

    • ECMAScript 规定的,例如 parseInt() ,parseFloat() ,Number() ,String(),Boolean(), setTimeout() 等等
    • 浏览器私有属性,例如 alert 弹框提示 , propmt 用户填写 , confirm 确认, console 等,document 也是。 DOM也有标准,由 W3C 制定。
    公用的属性(就是原型,prototype)

    1.避免浪费内存

    2.当声明一个对象时,生成一个隐藏的key proto ,其 value 指向公用属性。
    所有对象都有 toString 和 valueOf 属性,那么我们是否有必要给每个对象一个 toString 和 valueOf 呢?明显不需要。

    JS 的做法是把 toString 和 valueOf 放在一个对象里(暂且叫做公用属性组成的对象),然后让每一个对象的 proto 存储这个「公用属性组成的对象」的地址。

    重要公式
    请记住并疯狂思考下面这张图
    原型链

    每一个对象都有自己的原型对象,原型对象本身也是对象,原型对象也有自己的原型对象,这样就形成了一个链式结构,叫做原型链。


    相关文章

      网友评论

          本文标题:原型与原型链

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