[Javascript] 关于prototype的一些说明

 
  
var Point = function (x,y){
this .x = x;
this .y = y;
}
Point.name
= ' 我是name ' ;
Point.prototype.sum
= function (){
return this .x + this .y;
}
Point.prototype.odd
= function (){
alert(
this .sum());
}
var a = new Point( 1 , 2 );
a.odd();
var b = new Point( 3 , 4 );
b.odd();

Point.prototype
= { // 这个过程将会覆盖之前的方法(sum,odd)
plus : function (){
return this .x - this .y;
},
odd2:
function (){
alert(
this .plus());
}
}
b.odd();
// 这里不会有异常
var c = new Point( 5 , 3 );
c.odd2();
// 这里不会有异常
alert(c.name); // 异常 undefined 可以得出结论 Point.name != Point.prototype.name
// Point.prototype.name 是实例化后所用的. 而Point.name 相当于自身的静态变量而已
c.odd(); // 这里会出异常

1. prototype 它添加的属性相当实例化的函数(属性) 一样.而如果是Point.sum 那么在new Point()是调不出来sum的.

转载于:https://www.cnblogs.com/kingkoo/archive/2011/05/19/2050720.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值