JS原型链

作者: 该昵称注册中 | 来源:发表于2017-10-14 16:08 被阅读0次

    javaScript原型链

    JavaScript所有对象都有原型,当对象有属性或方法调用的时候,对象就会从自身查找属性,如果找不到,那么就会沿着对象的原型往上找。

    proto对象

    var a={type:'code'} var b = {} b.__proto__ = a 设置a为b的原型 a.type==>code

    • 判断一个对象是否为另外一个对象的原型

    a.isPrototypeOf(b) ==> true

    • 原型查找是动态的,可以有需求时添加

    • 在b上修改type属性,不会影响到a

    • __proto__为对象设置原型的并不通用,用Object.create();

    1.png

    继承顺便新增属性

    2.png
    • Object.getPrototype

    使用Object.getPrototypeOf()获取对象的原型 没有Object.setPrototype()设置原型的方法

    3.png
    • 构造函数

    1.作为构造器的函数

    在JavaScript中,可以通过new来创建实例,使用new创建实例,函数能生成新的对象,通过函数的原型([prototype])和函数保持关联.吧新的对象称为函数的实例.

    4.png
    1. 隐式的赋值[this]

    使用[new]创建时,JavaScript以[this]关键字向函数注入了新创建对象的隐式引用,在函数的运行结尾处会隐式的返回该引用;

    当我们这样新建对象时

    相关文章

      网友评论

        本文标题:JS原型链

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