【发布时间】:2015-01-24 03:51:02
【问题描述】:
我有几个字符串
strings = [
"String",
"Object",
"Boolean"
]
我想用它们来声明新对象
for(var i = 0; i < strings.length; i++){
var x = new strings[i];
}
但是我得到了这个错误:
TypeError: string is not a function
at Object.<anonymous> (/Users/path/code.js)
at Object.<anonymous> (/Users/path/code.js)
at Module._compile (module.js:456:26)
如何将字符串视为其基础类型?
旁白:
我知道我可以做类似的事情
type_map = {
String: String,
Object: Object,
Boolean: Boolean
}
然后去
for(var i = 0; i < strings.length; i++){
var x = new type_map[strings[i]];
}
这行得通,但如果它存在的话,我正在寻找更优雅的东西。
【问题讨论】:
-
"String"是文字,不能实例化文字。 -
对,也许我的措辞不正确,但我想知道是否有某种方法可以从字符串字符串中获取文字
-
"new" 只能用于函数,不能用于字符串。所有全局变量都是"window"的元素,所以window["String"]对应全局函数String。
标签: javascript string types