zoukankan      html  css  js  c++  java
  • JS中的原型连

    参考网址:https://www.jianshu.com/p/f8c7c55025fc

    1.理解字面量,构造函数,构造函数实例的关系。

    //只有构造函数有原型属性 - prototype,它是一个对象
    // 1.字面量对象
    var A = {};
    console.log(A.prototype); // undefined
    // 2.构造函数
    var B = function (name) {
        this.name = name;
    }
    console.log(B.prototype); // {constructor: ƒ}
    console.log(typeof B.prototype); // object
    // 3.构造函数实例
    var b = new B('top');
    console.log(b.prototype); // undefined
    
    //原型对象中有个constructor属性,constructor指向构造函数本身,也只有原型对象具有constructor属性
    console.log(B.prototype.constructor === B); // true
    console.log(b.constructor === B); // true
    
    //所有的对象都有 __protp__属性,它也是个对象
    console.log(B.__proto__); // ƒ () { [native code] }
    console.log(b.__proto__ === B.prototype); // true
    console.log(a.__proto__ === Object.prototype); // true

    2.理解原型链

      原型链的核心就是当自身不存在的属性时,依赖对象的_proto_的指向,就一层层的扒出创建对象的构造函数,直至到Object时,就没有_proto_指向了。

    console.log(Object.prototype.__proto__);   // null

    下图为原型链查找流程图

  • 相关阅读:
    Linq To Sql 大全
    lambda表达式学习
    一步一步学Linq to sql系列文章
    MVC 学习
    Guava环境设置
    ANT简介
    Quartz特点
    XStream环境设置
    log4j配置
    类是什么?
  • 原文地址:https://www.cnblogs.com/dadouF4/p/13330645.html
Copyright © 2011-2022 走看看