• 原型



    //如果在构造函数中定义函数,那么每次创建对象,都会重新创建该函数
    //但是函数内部代码完全相同,就造成了资源浪费
    //为了处理这个问题,我们要让所有的对象共用一个方法
    //在构造函数外部定义好该函数,将该函数赋值给构造函数内的方法

    //如何使用原型来解决构造函数存在的问题?
    //构造函数的原型对象中的成员,可以被该构造函数创建出来的所有对象访问
    //而且,所有的对象共享该对象
    //所以,我们可以将构造函数中需要创建的函数,放到原型对象中存储
    //这样就解决 全局变量污染的问题 以及 代码结构混乱的问题

    function Person(name, age, gender) {
    this.name = name;
    this.age = age;
    this.gender = gender;
    }

    //原型的使用方法
    //1.利用对象的动态特性给原型对象添加成员
    //2.直接替换原型对象

    //如果使用第二种方式使用原型,那么会出现如下问题:
    //在替换原型之前创建的对象的原型 和 在替换原型对象之后的创建的对象
    //的原型 不是同一个!
    Person.prototype.sayHello = function () {
    console.log("Nice to meet you all");
    }

    var p = new Person("刘能", 18, "male");
    p.sayHello();

    //替换了原型对象
    Person.prototype = {
    msg : "你猜我在不在"
    };

    var p1 = new Person("xzy",18,"male");

    console.log(p1.msg);
    // p1.sayHello(); //不能
    p.sayHello(); //还是指向之前的原型对象,这点注意,替换原型对象,construction的指向就变成object,而不是构造函数,也可以在替换的原型对象上添加
    constructor : Person

    比如:
    Person.prototype = {
    constructor : Person
    };

    图像 1

  • 相关阅读:
    win10操作技巧介绍,很实用!
    信息时代与人工智能时代的教育变革
    《此生未完成》痛句摘抄(3)
    《下辈子还教书》经典语录(1)
    《给教师的阅读建议》经典语录
    《此生未完成》痛句摘抄(4)
    记录程序人生2020.8.11
    最全、最详细的配置jdk十步法!
    《此生未完成》痛句摘录(2)
    “温室里的花朵”也要直面困难
  • 原文地址:https://www.cnblogs.com/vzaiBoke/p/9105466.html
Copyright © 2020-2023  润新知