gpt4 book ai didi

Javascript:对象不支持方法 'freeze'

转载 作者:数据小太阳 更新时间:2023-10-29 05:10:41 31 4
gpt4 key购买 nike

我正在尝试用 Javascript 创建一个枚举。使用的javascript代码是

var FeatureName = {
"FEATURE1": 1,
"FEATURE2": 2,
"FEATURE3": 3,
"FEATURE4": 4,
"FEATURE5": 5
}
Object.freeze(FeatureName);

当方法 Object.freeze(FeatureName) 被调用时,它适用于除 IE7 和 IE8 之外的所有浏览器。还有其他选择吗?

最佳答案

John Resig 提供了另一种选择。我没有在你提到的浏览器中尝试过。试试看,然后告诉我们。

http://ejohn.org/blog/ecmascript-5-objects-and-properties/

Object.freeze = function( obj ) {
var props = Object.getOwnPropertyNames( obj );

for ( var i = 0; i < props.length; i++ ) {
var desc = Object.getOwnPropertyDescriptor( obj, props[i] );

if ( "value" in desc ) {
desc.writable = false;
}

desc.configurable = false;
Object.defineProperty( obj, props[i], desc );
}

return Object.preventExtensions( obj );
};

关于Javascript:对象不支持方法 'freeze',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13117771/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com