我有一些全局对象CD它已设置的属性如下:如何允许添加属性的对象,但停止修改属性组对对象
window.cd = {
config:{
title:"..."
}
a:func...,
b:56,
c:..
}
我想用户允许将属性添加到cd和cd.config但要密封的属性cd.a, cd.b, cd.config.title
(不允许修改)。
用户应该无法删除window.cd或这些特性以及(其它属性,他可以删除或修改)。
我试着用以下:
window.cd.a.seal();
window.cd.b.seal();
window.cd.config.title.seal();
但它抛出以下错误:
window.cd.config.title.seal is not a function
'Object.seal'是一个函数HTTPS ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal,'String.seal'不是('window.cd.config.title'是as特林) –
那么如何实现我的要求我想停止用户修改标题。 –
你必须封闭一个物体,而不是它的单个属性。此外,密封不会阻止财产价值的变化,它只会阻止添加或更改属性。也许你想标记他们不可写https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty –