zoukankan      html  css  js  c++  java
  • JavaScript基础(07_原型对象)

    原型对象

    • 原型 prototype

      • 我们所创建的每一个函数,解析器都会想函数中添加一个属性prototype

      • 这个属性对应着一个对象,这个对象就是我们所谓的原型对象

        • 如果函数作为普通函数调用prototype没有任何作用

        • 当函数通过构造函数调用时,它所创建的对象中都会有一个隐含的属性

        • 指向该构造函数的原型对象,可以通过proto来访问该属性

      • 原型对象就相当于一个公共的区域,所有同一个实例都可以访问到原型对象

        • 可以将对象中共有的内容,统一设置到原型对象里

        • 当我们访问对象的一个属性或者方法时,先会在对象自身中寻找,

        • 如果有则直接使用

        • 如果没有则会去原型对象中寻找

      • 以后我们创建构造函数时,可以将这些对象共有的属性和方法统一添加到构造函数的原型对象中这样不用分别为每一个对象添加,也不会影响全局作用域

    • 使用原型对象,优化构造函数

      • // 使用原型对象,优化构造函数
        function Person(name, age, gender){
          this.name = name;
          this.age = age;
          this.gender = gender;
          Person.prototype.sayHello = function(){
            alert("hello大家好,我是:"+ this.name);
          }
        }
        ​
        var per1 = new Person("swk",18,"male");
        var per2 = new Person("zbj",28,"male");
        var per3 = new Person("shs",38,"female");
        ​
        per1.sayHello();
        per2.sayHello();
        console.log(per1.sayHello === per2.sayHello);
  • 相关阅读:
    【bzoj4318】OSU!
    【bzoj2134】单选错位
    【UVa11584】划分成回文串
    Load a map with proxy
    2012南大GIS专业课试题
    引用webmap时如何填写username 和 password
    使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示
    填空题
    专业课知识
    Add a web map dynamically
  • 原文地址:https://www.cnblogs.com/lich1x/p/13697501.html
Copyright © 2011-2022 走看看