zoukankan      html  css  js  c++  java
  • 原型和原型链的理解

    1. 什么是原型??

       我的理解是:函数都有一个prototype属性,这个属性是一个指针,指向构造函数的原型对象一定要理解构造函数的原型对象,是构造函数的原型对象,不是构造函数Person

       举例说明:

       function Person() {}

       var stu = new Person();

    构造函数Person有一个prototype属性,而Person的prototype指向的是一个Object对象,这个Object对象就被称为原型对象。

    在举一个例子

    function People() {
    console.log("人类的祖先");
    }
    function Person() {
    console.log("人类的诞生");
    }
    Person.prototype = People;

    var stu = new Person();

    这里构造函数Person有一个prototype属性,而Person的prototype指向的是一个People的。即People是一个原型对象。

      

      Person.prototype ==  stu.__proto__;   //实例的隐式原型 === 该构造函数的原型对象

    __proto__是隐式原型

    prototype是显示原型

    来举个小例子来说明 Person.prototype ==  stu.__proto__;

    function People() {
    console.log("人类的祖先");
    }
    function Person() {
    console.log("人类的诞生");
    }
    Person.prototype = People;

    var stu = new Person();
    console.log(Person.prototype == stu.__proto__);

    function Person() {}

      var stu = new Person();

    stu是一个实例,可以通过stu.__proto__去访问构造函数的原型对象,构造函数Person的原型对象是一个Object。

  • 相关阅读:
    JS小功能系列9商品筛选
    JS小功能系列8省市联动
    if u
    js属性
    js初识
    弹性盒
    项目合作
    css重置
    关于响应式布局
    自我定位
  • 原文地址:https://www.cnblogs.com/huqinqin/p/7424226.html
Copyright © 2011-2022 走看看