Getter返回null值时的整个函数
Getter returns whole function on null value
我创建了一个简单的存储对象来存储带有setter和getter的名称。然而,试图获取名称之前设置返回函数?我希望它返回null
name: function (val) {
var value = val;
this.__defineGetter__('value', function () {
if (value == null) return null;
return value;
});
this.__defineSetter__('value', function(val) {
value = val;
});
},
完整代码:
http://jsfiddle.net/GKC4P/2/试试这个方法。你不需要getter或setter
var storage = {};
Object.defineProperty(storage, 'name', {
value : null,
writable: true
});
alert(storage.name);
storage.name = 'Bob';
alert(storage.name);
name
是你的storage
对象的一个方法-当它被调用时为.value
属性创建一个setter/getter。你想要的是
var storage = {};
var value = val;
storage.__defineGetter__('name', function () {
if (value == null) return null;
return value;
});
storage.__defineSetter__('name', function(val) {
value = val;
});
或适当的Object.defineProperty
和IEFE使value
本地化:
var storage = (function() {
var value = val;
return Object.defineProperty({}, 'name', {
get: function () {
if (value == null) return null;
return value;
},
set: function(val) {
value = val;
}
});
}());
相关文章:
- ES6构造函数返回基类的实例
- 从函数返回角度承诺
- 如何从jquery函数返回变量
- 根据是否解析了 Promise 从函数返回值
- Javascript函数返回未定义
- 如果函数返回True,则显示Javascript按钮
- Google Sheet自定义函数返回0
- 从Ajax函数返回值
- 使用for循环从Javascript中的函数返回多个值
- 谷歌地图:函数返回未定义的值在console.log中运行良好
- 从函数中的函数返回数组时出错
- 如何从嵌套的API函数返回值
- 从Mongoose结果匿名函数返回父函数
- 函数返回错误'令牌{'
- Jquery函数返回订单问题
- Mocha/Chai测试链接到函数返回断言错误
- 从异步函数返回值
- 函数返回后更新变量
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 将外部函数返回的id传递给内部函数