譬如我有一个Person类,拥有name这一私有属性。//Javascriptcode:functionPerson(theName){varname=theName;//对象的私有成员this.getName=function(){//访问私有成员的成员方法写在对象中是没有问题的。returnname;};}Person.prototype.setName=function(newName){//访问私有成员的成员方法是否可以写在类的原型中?};是不是需要访问到私有成员的成员方法都不能写在原型里?但是这样又会造成资源的浪费,有没有两全其美的方法?后来试过了做类构造的闭包,写成了这样://Javascriptcode:varPerson=(function(){varname;varP=function(theName){name=theName;this.getName=function(){returnname;};};P.prototype.setName=function(newName){name=newName;};returnP;}());很显然name变成了静态私有变量而不是成员私有变量。虽然可以创建静态字典,但是代码的可读性会降低。有没有其它的解决方法?
Helenr
RISEBY
相关分类