J'ai un objet global CD et il a un ensemble de propriétés comme suit:Comment permettre d'ajouter la propriété sur l'objet, mais arrêter Modification ensemble de propriétés sur l'objet
window.cd = {
config:{
title:"..."
}
a:func...,
b:56,
c:..
}
Je veux utilisateur pour permettre ajouter des propriétés à cd et cd.config mais les propriétés cd.a, cd.b, cd.config.title
doivent être scellées (aucune modification autorisée).
L'utilisateur ne doit pas être en mesure de supprimer ou window.cd ces propriétés aussi bien (Autres propriétés qu'il peut supprimer ou modifier).
J'ai essayé avec ce qui suit:
window.cd.a.seal();
window.cd.b.seal();
window.cd.config.title.seal();
mais jeté erreur suivant:
window.cd.config.title.seal is not a function
'Object.seal' est une fonction https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal, 'String.seal' n'est pas (' window.cd.config.title' est comme tring) –
Alors, comment atteindre mes exigences Je veux empêcher l'utilisateur de modifier le titre. –
Vous devez sceller un objet, pas des propriétés individuelles de celui-ci. En outre, le cachetage n'empêche pas les changements dans la valeur de la propriété, il empêche seulement l'ajout ou la modification de propriétés. Peut-être que vous voulez les marquer non-écriture https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty –