[英]does onchange event internally listens to setter for element's accessors?
[英]Accessors: setter does not work
我正在使用 Javascript 访问器属性(我从零重新开始学习 javascript),试图为一个简单的对象创建 getter 和 setter,这里是代码:
var dummy = {
name: 'empty',
description: 'static description',
get nameAccessor(){return 'name value is: ' + this.name;},
set nameAccessor(value){ this.name = value;},
get descAccessor(){return 'desccription value is: ' + this.description;},
};
console.log(dummy.nameAccessor);
console.log(dummy.nameAccessor('Mazinga'));
console.log(dummy.nameAccessor);
但它抛出一个错误:
未捕获的类型错误:对象 # 的属性“nameAccessor”不是函数
当它执行 setter 代码时:
console.log(dummy.nameAccessor('Mazinga'));
这里出了什么问题?
编辑:
好吧,这似乎不是 javascript 的一个众所周知的特性,但是我从Javascript: Definitive Guide 中遵循了这个示例
var o = {
data_prop: value,
get accessor_prop() { /* function body here */ },
set accessor_prop(value) { /* function body here */ }
};
dummy.nameAccessor
不是一个函数,它是一个字符串name value is: empty
。
您的方法语法不正确,请尝试:
var dummy = {
name: 'empty',
description: 'static description',
getName : function(){return 'name value is: ' + this.name;},
setName : function(value){ this.name = value;},
getDesc : function(){return 'description value is: ' + this.description;}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.