zoukankan      html  css  js  c++  java
  • 创建对象-原型初识

     <h3>一切皆对象,他们都来自null;</h3>
            <ol>
                <li>每一个对象(除了null)都和另一个对象相关联,这个所谓的另一个对象就是原型;</li>
                <li>不难理解,原型也是对象;</li>
                <li>所有的内置构造函数都有一个继承自Object.prototype的原型;</li>
                <li>Object.prototype是没有原型的对象;</li>
                <li>每一个对象都从原型继承属性,直到null结束;</li>
                <li>
                所以我们也可以看下原型链:
                <pre>
                var arr1 = new Array(1,2,3);
                arr1-->Array.prototype-->Object.prototype-->null; 形成链,到null结束,完美;
                var date1 = new Date();
                date1-->Date.prototype-->Object.prototype-->null; 形成链,到null结束,完美;
                </pre>
                这就是传说中的原型链;简单总结下:
                <pre>
                一、构造函数、原型和实例的关系
                    a,构造函数都有一个属性prototype,这个属性是一个对象,是Object的实例;
                    b,原型对象prototype里有一个constructor属性,该属性指向原型对象所属的构造函数;
                    c,实例对象都有一个__proto__属性,该属性也指向构造函数的原型对象;
                二、prototype与_proto_的关系
                    a,prototype是构造函数的属性;
                    b,__proto__是实例对象的属性;
                    c,两者都指向同一个对象;
                </pre>
                </li>
            </ol>
  • 相关阅读:
    runtime-给系统已有类添加属性
    解决自定义leftBarButtonItem返回手势失效的方法
    类和对象
    内存拷贝
    响应者链
    属性
    懒加载
    封装思想
    屏幕旋转
    block
  • 原文地址:https://www.cnblogs.com/LeoXnote/p/9645572.html
Copyright © 2011-2022 走看看