如何从字符串 javascript 中获取数据类型
How to get data type from string javascript
我有几个字符串
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]];
}
这有效,但如果存在的话,我正在寻找稍微优雅一点的东西。
显而易见的有什么问题?
var i, x, constructors = [
String,
Object,
Boolean
];
for(i = 0; i < constructors.length; i++){
x = new constructors[i];
}
请记住,JS中的任何内容都是对象(包括"类名"),几乎可以随心所欲地使用。
这些类的构造函数是全局对象的属性。
例如,在浏览器中,您可以执行
console.log(window['String'] === String); // true
var str = new window[strings[0]]();
console.log(str); // ""
找到了使用 eval 函数执行此操作的好方法
strings = [
"String",
"Object",
"Boolean"
]
for(var i = 0; i < strings.length; i++){
var x = new (eval(strings[i]));
}
所以总结一下eval("String") === [Function: String]
相关文章:
- 如何从querySelectorAll中获取按钮类型
- Ajax-如何获取数据
- javascript解释器如何理解变量的数据类型
- 从查询字符串参数推断出正确的数据类型
- 为什么不'我们在javascript中使用函数参数的数据类型
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 从 json 动态获取数据时出现类型错误
- 如何从一个表单的输入字段中获取数据,并使用JQuery在不同的表单中填充相同的输入类型
- 无效的“in”操作数 obj JQUERY - 尝试从 JSON 获取数据时出现类型错误
- 如何使用 javascript 获取剑道网格列的数据类型
- Jquery - 如何在选择该选项后获取该选项的特定数据类型
- 如何从字符串 javascript 中获取数据类型
- 如何从输入类型=文件获取数据,修改它,然后将其插入到此输入JS中
- 如何在ajax javascript中获取数据类型json的特定值-密钥对
- Javascript获取数据类型标记值
- 如何通过ajax获取响应与数据类型作为json和有效负载变量
- Jquery从数据类型dataString中获取json数据
- 如何使用JSON类型索引从JSON变量中获取数据
- 与Json相比,Ajax获取数据类型XML有什么优势吗?
- 可以't从BackBone中的REST调用获取数据:未捕获类型错误:无法读取属性'长度'的未定义