使用自调用函数javascript在对象文本中定义getter/setter
定义对象文字时,可以使用自调用函数,以便该函数可以访问私有变量使用自调用函数javascript在对象文本中定义getter/setter,javascript,getter-setter,Javascript,Getter Setter,定义对象文字时,可以使用自调用函数,以便该函数可以访问私有变量 obj={ value:(function(){ var private; return function(){ return true; } }()) }; 但是,在对象文本中使用getter/setter也可以做同样的事情吗 obj={ get value(){ return value; }, se
obj={
value:(function(){
var private;
return function(){
return true;
}
}())
};
但是,在对象文本中使用getter/setter也可以做同样的事情吗
obj={
get value(){
return value;
},
set value(v) {
value=v;
}
};
不是真的。您还可以通过以下方式为
obj
创建IIF:
obj = function () {
var privatething = 'hithere';
return {
get value() {
return privatething;
},
set value(v) {
privatething = v;
}
};
}();
obj.value; //=> 'hithere';
obj.value = 'good morning to you too';
obj.value; //=> 'good morning to you too'
这很有效
var obj={a:1};
控制台日志(obj.a)//1.
Object.defineProperty(obj,“a”{
get:function(){
把这个还给我;
},
集合:功能(x){
这个。b=x;
},
对,,
});
目标a=10;
控制台日志(obj)//10
for(obj中的var键)
{
console.log(键)
}
根据ES6和更高版本的样式,也可以在签名中设置默认值
const=function(x='绿叶蔬菜',y='鸡肉',z='面条汤'){
//console.log(x)
返回{
_x,,
_y,,
_z,,
get x(){返回这个。x},
设置x(值){this.\ux=value}
}
}()
console.log(ux.x)
_.x=‘牛肉和猪肉’
console.log(ux)