是否可以将 javascript 对象属性设置为只读?我想设置一个不可修改的属性...
最佳答案
这是可能的,但是很昂贵。你可以通过拥有一个真正私有(private)的成员变量然后提供一个访问函数来做到这一点:
var NiftyThing = function() {
var trulyPrivateVariable;
trulyPrivateVariable = 5; // For instance
this.accessorFunction = function() {
return trulyPrivateVariable;
}
};
之所以可行,是因为访问器函数是对 var 的闭包。代价是每个实例都有自己的访问器函数副本。
编辑:用法:
var n = new NiftyThing();
alert(n.trulyPrivateVariable);
// Alerts "undefined"
alert(n.accessorFunction());
// Alerts "5"
关于javascript - 只读属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1321690/