javascript中prototype属性学习
2012-08-29 23:15
246 查看
prototype理解的不是很透彻,虽然网上有那么解释还是没能完全理解透彻。
目前理解的和日常用到的prototype主要是动态的给对象添加属性和方法,还可以用以继承。
比如我们平时用的Number类,根据应用的方便需要可能会增加一些方法,但是我们又不能改变重写Number类。
这时就可以用prototype属性为Number类动态的加入一个方法
比如我们用到别个自定义的类的时候,觉得类提供的方法不够用。这种情况一般我们不会去修改被人定义好的类,而是使用prototype属性给类加一个方法。
当我们自定类的时候一般都不会再类中写方法而是用prototype属性加入方法。
当使用delete删除类中定义的属性,方法是我们照样可以用prototype定义的。
用prototype定义方法的的好处:当 new Stu对象时每new 一个Stu对象shows方法都要执行一次,而show方法不管你new多少个Stu对象都只会执行一次。
还望多多指教相互学习
目前理解的和日常用到的prototype主要是动态的给对象添加属性和方法,还可以用以继承。
比如我们平时用的Number类,根据应用的方便需要可能会增加一些方法,但是我们又不能改变重写Number类。
这时就可以用prototype属性为Number类动态的加入一个方法
//提供两个数字相加的方法。 Number.prototype.add=function(num) { return this+num; }
比如我们用到别个自定义的类的时候,觉得类提供的方法不够用。这种情况一般我们不会去修改被人定义好的类,而是使用prototype属性给类加一个方法。
function Stu(name){ this.name=name; } //我们要比较两个Stu知否相等, Stu.prototype.equal=function(stu) { if(this.name==stu.name){ return true; } return false; }
当我们自定类的时候一般都不会再类中写方法而是用prototype属性加入方法。
function Stu(name,age){ //sex变量只能在Stu中定义的方法才能访问,用prototype定义的方法不能方法Stu中定义的私有变量 var sex="男"; this.name=name; this.age=age; this.shows=function(){ alert(sex+","+this.name+","+this.age); } } //显示当前Stu的姓名好年龄 Stu.prototype.show=function() { alert(this.name+","+this.age); }当用prototype定义的方法,属性同名的时候会使用类中定义的方法,属性不会使用prototype定义的。
当使用delete删除类中定义的属性,方法是我们照样可以用prototype定义的。
用prototype定义方法的的好处:当 new Stu对象时每new 一个Stu对象shows方法都要执行一次,而show方法不管你new多少个Stu对象都只会执行一次。
还望多多指教相互学习
相关文章推荐
- JavaScript---对象学习(一)object对象、string对象、javaScript的constructor属性和prototype属性
- Javascript 函数 prototype属性
- Javascript属性constructor/prototype的底层原理
- Javascript学习笔记9——prototype封装继承
- JavaScript学习----Prototype
- JavaScript:prototype属性使用说明
- JavaScript prototype 属性
- JavaScript prototype 属性
- Javascript入门学习第八篇 js dom节点属性说明第1/2页
- JavaScript学习(4.2):函数定义表达式和属性访问表达式
- javascript学习随笔(二)原型prototype
- JavaScript prototype属性与修改对象
- JavaScript 中 Object ,Prototype 相关的属性和方法
- JavaScript:prototype属性使用说明
- JavaScript基础学习(三)-Math对象属性及方法
- javascript学习十一:面向对象之prototype
- JavaScript之面向对象学习二(原型属性对象与in操作符)获取对象中所有属性的方法
- 跟我学习javascript的prototype原型和原型链
- JavaScript学习笔记:对象属性的枚举
- JavaScript中的prototype属性