zoukankan      html  css  js  c++  java
  • javascript中的prototype和constructor

             今天把javascript重新温习了一遍,觉得又进步了,这里说一下自己的收获。

             javacript是一种神奇的语言,越来越喜欢这门语言了,对于解决问题特别方便。

             js里有一种一切都是变量的说法,比如一个函数:

             function a(){ var name="hello"; return name;}

             可以写成:

             var a=function(){var name="hello"; return name;};

             这种写法叫做函数对象文本标识记法。

             这样,函数也可以作为参数传递,也可以定义成函数的局部变量。

             js里还有一种叫做一切都是对象的说法,没有类的概念。

             容易困惑的是prototype和constructor。

             prototype即原型,原型是函数的属性,也是一种对象。通过原型可以扩展对象的属性,比如

             person{

                   age:18,

                   name:"lisan"

               };

              var a=new Person();

              a.prototype.getName=function (){return this.name};

              即为person增加了getName方法。

             constructor即构造器,构造器就是函数,函数就是构造器,是prototype的属性,即对象实例的属性,而prototype是函数的属性。

             a.prototype.constructor==Person指向创建当前函数的构造函数。

             如果a.prototype={getName:function(){return this.name}},则原来的构造器被覆盖了,

             a.prototype.constructor!=Person。用下面的修改过来

             a.prototype.constructor=Person,不然原型中的其他属性和方法就消失了。

            

             

              

  • 相关阅读:
    2013-2014-2(复变函数56)
    2015-2016-1(实变函数56)
    2014-2015-2(常微分方程64, 数学分析提高64)
    2015-2016-2(点集拓扑56, 点集拓扑56)
    2016-2017-2(点集拓扑56, 点集拓扑56)
    2016-2017-1(实变函数56, 点集拓扑56)
    2017-2018-1(实变函数56, 点集拓扑56)
    2013-2014 指导2014届毕业生8名(48)
    2015-2016 指导2016届毕业生8名(48)
    2014-2015 指导2015届毕业生8名(48)
  • 原文地址:https://www.cnblogs.com/xshang/p/3621731.html
Copyright © 2011-2022 走看看