如何在Javascript中将字符串转换为常量
e.g
str =“用户” // Javascript魔术 用户
答案 0 :(得分:2)
你没有 - JavaScript没有常量,也没有只读变量。 (JavaScript的一些扩展提供了只读访问者,但这完全不同。)
答案 1 :(得分:0)
据我所知,Javascript中没有常量这样的东西。但是您可以创建一个将此信息公开为只读属性的对象:
<script type="text/javascript">
function defineConstant(obj, name, value) {
// Non-standard!
if(obj.__defineGetter__) {
obj.__defineGetter__(name, function () { return value; });
obj.__defineSetter__(name, function() { throw "Read-only property"; });
} else {
if(typeof(Object.defineProperty) != 'undefined') {
try {
// First, trying the "normal" way
defineReadOnlyProperty(obj, name, value);
} catch(ex) {
var temp = obj;
// Ugly hack to make "defineProperty" work in IE
// (only works on DOM elements prior IE9)
obj = document.createElement('DIV');
// Copying object members
for(var key in temp)
obj[key] = temp[key];
// Now it should define property
defineReadOnlyProperty(obj, name, value);
}
}
}
return obj;
}
function defineReadOnlyProperty(obj, name, value) {
Object.defineProperty(obj, name, {
get: function() { return value; },
set: function() { throw "Read-only property"; }
});
}
</script>
以上功能的用法如下:
<script type="text/javascript">
var Global = {};
Global = defineConstant(Global, 'MagicUser', 'User');
// Getting "User"
alert(Global.MagicUser);
// Throws an error
Global.MagicUser = 'User2';
</script>
希望这会对你有所帮助。