首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JS种中能模拟出依赖对象本身的可变的私有属性吗

2012-11-26 
JS类中能模拟出依赖对象本身的可变的私有属性吗?JS是轻量级语言,在类的概念上没有如Java那样严格意义上私

JS类中能模拟出依赖对象本身的可变的私有属性吗?

JS是轻量级语言,在类的概念上没有如Java那样严格意义上私有函数,公有函数,私有属性,公有属性。但是我们考虑到复用,仍然会希望能够模拟出这些特性。有关私有函数、公有函数的方法,其实蛮简单,就是把私有函数以变量的形式,扔到prototype的闭包中;公有函数则以返回的形式暴露在外面。

?

?

var me = new People({name:'L'});var you = new People({name:'J'});console.log(me.name);console.log(me.getName());console.log(you.name);console.log(you.getName());

?

然后你会发现,打印出来的都是 'undefined' 'J'。也就是说,原型的_name被最后一个创建的实例改掉了,原因嘛,就是因为_name在原型里,是所有实例共用的。。。

?

因此在JS的类中模拟私有属性是不成立的。忍受下洁癖,还是开放出来吧。

?


热点排行