zoukankan      html  css  js  c++  java
  • 原型链

    对象,构造函数,原型的三角关系:

    每一个构造函数都有prototype属性,指向原型;原型中有属性constructor指向构造函数;实例(对象)中有属性__prototype__指向原型,创建出来的实例是可以直接访问原型对象上的成员。

    关于原型上的一些注意点:

    添加到构造函数上的一些成员,实例是无法获取到的;添加到原型上的成员,实例可以获取。

    <script>
    function Person(name, age) {
    this.name = name;
    this.age = age;
    }
    Person.prototype.car = '摩托罗拉';
    Person.money = 1000;
     
    var p = new Person('zs', 18);
     
    console.log(p.name); // zs
    console.log(p.age); // 18
    console.log(p.car); // 摩托罗拉
    console.log(p.money); // undefined;

    </script>

    原型链的形成:

    一个对象有它自己的原型,原型也可以看成一个对象,有它自己的原型,这样一环扣一环,就形成了一个原型链,。

    结论:实例可以访问自己的属性,原型的属性可以访问,原型链上的也就以访问。

    实例在获取属性时,首先时是去访问自己的,如果没有,就在原型链上就近查找;当实例去修改属性时,只会修改自己的,自己有这个属性,直接修改,没有就新建添加值,不会对原型进行修改。

  • 相关阅读:
    HTML area coords 属性
    在Java中,替换字符串String中特定索引处的字符char?
    JavaScript 之 history对象
    JavaScript 之 location 对象
    JavaScript 之 定时器
    JavaScript 之 页面加载事件
    JavaScript 之 对话框
    JavaScript 之 BOM
    Java 之 可变参数
    Java 之 LinkedHashSet 集合
  • 原文地址:https://www.cnblogs.com/z-lin/p/10915523.html
Copyright © 2011-2022 走看看