私有属性的封装
用闭包来完成js对象之私有属性封装
function Girl(name,lover){
this.name = name;
this.lover = lover;
}
var girl = new Girl('林黛玉','贾宝玉');
alert(girl.name+'喜欢'+girl.lover);
//让lover不能被外界访问
function Girl(name.lover){
var secret = lover;
this.name = name;
//通过showlove做接口,来读取私有属性secret
this.showlove = function(){
return secret;
}
//移情别恋
this.movelove = function(){
secret = '薛潘';
}
}
var girl = new Girl('林黛玉','贾宝玉');
alert(girl.name+'喜欢'+girl.showlove());
girl.movelove();
alert(girl.name+'喜欢'+girl.showlove());
这是通过闭包来完成js面向对象的私有属性的封装。
这是js大牛,道格拉斯提出来的。他以前是Yahoo的首席js架构师,现在在paypal
json格式也是他倡导的,他的书:《the javascript good parts》