博客园 联系 订阅 订阅 管理  

Blog Stats

News

昵称:ShiningRay
园龄:7年2个月
粉丝:1
关注:0

随笔分类

文章分类

随笔档案

Develop

Language

My Mirrors

NirvanaStudio

System

Tutorial

Nirvana

JavaScript中的私有成员

Douglas Crockford
www.crockford.com

翻译:ShiningRay

http://www.nirvanastudio.org/

 

http://www.nirvanastudio.org/javascript/private-members-in-javascript.html



posted on 2005-04-21 22:46 ShiningRay 阅读(1204) 评论(2)  编辑 收藏

评论

这样实现的私有成员是静态的,与类实例的私有成员还是有差别的.
我也曾经这样模拟私有成员,后来因为它是静态的引发了一个错误,调试了很久才发现,后来就放弃了这种方法,不过构造函数的参数与它内部定义的变量不大一样,我试过,构造函数的参数是附着在类实例上的,所以,如果一定要模拟私有成员变量的话,可以考虑让它们成为类构造的参数(好在JS并不要求参数必须匹配)

 回复 引用   

#2楼 2006-01-12 10:13 DSONet[未注册用户]
你说得这个私有成员得静态性是什么概念?
var a=new Container('this eg1;');
var b=new Container('this eg2;');
with(document){
write(a.service());write(a.service());write(a.service());write(a.service());
write(b.service());write(b.service());write(b.service());write(b.service());
};
看看这个,secret分别属于各自得对象实例.

 回复 引用