javaScript prototype原型的理解

function Box(){};

Box.prototype.name = "lishiming";
Box.prototype.age = 23;
Box.prototype.run = function(){
    return this.name;
};

var box = new Box();
var box2 = new Box();

alert(box.name);

alert(box2.name);

 

从这里可以看出box与box2的name值是一样的,这就是prototype的作用,实现成员的共享。

如果学过java的人肯定知道java语言里面有一种变量的类型,

叫做静态变量,或者是静态成员,JavsScript的prototype其实就相当于Java里面的static关键字

在Java中,使用static关键字修改的变量叫做类变量,而JavaScript没有类这种概念,在此,可以理解为prototype修饰的变量为类变量。

JavaScript对象默认情况下已经存在了prototype这个变量引用,只是为空,可以理解为对象或者是变量。这个对象指向一个空对象。

当为这个prototype赋值的时候,不再为空,也就指向了赋值后的对象,而且这个prototype不会改变,所以指向的引用对象也不会变。

这样就实现了对象共享变量的功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值