我有一些全局對象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 –