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

    1. 函数的prototype属性
    • 每个函数都有一个prototype属性, 它默认指向一个Object空对象(即称为: 原型对象)
    console.log(Array.prototype)  //Array也是一个函数。实例化对象的方法都挂在原型对象上
    

    • 原型对象中有一个属性constructor, 它指向函数对象本身
    • constructor:声明当前的构造器,是当前函数本身。
      fn.prototype.constructor === fn
    
    2. 给原型对象添加属性(一般都是方法)
    • 作用: 函数的所有实例对象自动拥有原型中的属性(方法)
    function Person() {};
    Person.prototype.age = 12;
    Person.prototype.say = function() {
    this.say = '你好'
    }
    // 创建函数的实例对象
    var person1 = new Person();
    console.log(person1.age); // 12
    console.log(person1.say); // function() {this.say = '你好'}
    
    3. 显示原型对象 / 隐式原型对象
    // 显示原型对象 / 隐式原型对象
    function Person() {}
    console.log(Person.prototype) //Object(显示原型对象)
    var person1 = new Person();// person1 是生成的实例对象。
    console.log(person1)
    
    // 1.每个实例对象身上都有一个_proto_,该属性指向当前实例对象的原型对象(隐式原型对象)
    
    //2.构造函数的显示原型对象===(当前构造函数)实例对象的隐式原型对象
    Person.prototype === person1._proto_;
    
  • 相关阅读:
    day05 集合
    day05 判断敏感字符
    day05 None类型
    day05 字典
    day04元组
    day04列表
    HDFS配额管理(实战)
    hive数据库的哪些函数操作是否走MR
    oracle 裸设备划分 --centos6.5
    redis3.0.7集群部署手册
  • 原文地址:https://www.cnblogs.com/maizilili/p/12367755.html
Copyright © 2011-2022 走看看