zoukankan      html  css  js  c++  java
  • 原型讲解二:原型是干什么用的

    前面说了这么多的原型的概念,那么原型用在哪里呢?

    之前说过,直接在构造函数外面定义一个函数方法,势必会造成全局的变量污染,那么怎么避免这个问题呢?那么就要涉及到在原型上面定义一个方法了:

    范例:

    function Person(name,age,gender){

       this.name=name;

       this.age=age;

       this.say=function(“我是”+this.name);

     }

     这是一个简单的构造函数,那么是怎么改进的呢?

         改进1:为了防止每次建立一个对象,对象里包含一个say()函数方法

                 在构造函数的外面添加了一个say()含数,但是造成了全局的变量污染。

         该进2:使用原型的方法

               this.say方法就可以不定义了

         看看这里的定义:

    Person.prototype.say=function(){

      alert(“我是”+this.name);

    }

    这样就完美的解决了上面构造函数外面直接定义函数方法从而污染全局变量的问题。

    再补充几个专业的术语

        什么叫做实例化:

       例如 var p=new Person();

       就是用new创建了一个对象,该对象拥有构造函数的属性和方法,有木有感觉构造函数像一个模板呢?,结构是不变的,唯一变的就是实参的变化

       更专业的叫法:pPerson()这个构造函数的一个实例

  • 相关阅读:
    P3501 [POI2010]ANT-Antisymmetry
    P3498 [POI2010]KOR-Beads(hash表)
    UVA10298 Power Strings
    UVA1714 Keyboarding(bfs)
    P4289 [HAOI2008]移动玩具(bfs)
    Ubuntu分辨率太小的解决方案
    Ubuntu分辨率太小的解决方案
    主板亮红灯,显示器没信号
    主板亮红灯,显示器没信号
    VS注释与取消注释快捷键
  • 原文地址:https://www.cnblogs.com/z-web-2017/p/6937139.html
Copyright © 2011-2022 走看看