Sae*_*ati 14 javascript properties javascript-objects defineproperty
我正在尝试定义一个对象并为其创建一个访问器属性.
HTML:
<input type='hidden' id='crudMode' value='Create' />
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
crudMode = {
create: "Create",
read: "Read",
update: "Update",
delete: "Delete",
current: function () { return $('#crudMode').val(); }
}
Object.defineProperty(crudMode, 'mode', {
get: function(){
return this.current();
},
set: function(value){
$('#crudMode').val(value);
}
});
Run Code Online (Sandbox Code Playgroud)
但是当我使用它时,它会在问题标题中引发提到的错误:
console.log(crudMode.mode);
Run Code Online (Sandbox Code Playgroud)
抛出:
TypeError:无法重新定义不可配置的属性"mode"
这有什么不对?
Mat*_*son 20
MDC文档说,除了'get'和'set',你需要在调用Object.defineProperty时将标志'configurable'设置为true.
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty
| 归档时间: |
|
| 查看次数: |
13175 次 |
| 最近记录: |