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,不然原型中的其他属性和方法就消失了。

        

         

          


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM