我有单独的javascript文件来加载自定义对象;这些对象旨在在读取主函数时扩展一些默认参数
他们看起来都像
var str1= { path:'url1:, var1:5};
var str2= { path:'url2:, var1:3};
etc...
我有一个字符串数组(通过加载rss页面生成),我想根据它的名称是否与对象名称匹配来返回该对象。硬编码会破坏目的
答案 0 :(得分:1)
看看this question。它显示了如何使用字符串引用对象。我能看到的唯一区别是,不是从window
对象开始,而是从任何定义当前范围的对象开始(例如this
)。
答案 1 :(得分:0)
您可以使用方括号表示法来引用其键名保存在变量中的对象属性:
var key = 'path';
var str1 = { path: 'url', var1: 1};
var value = str1[key]; // value == 'url';
你也可以这样做:
var str1 = 'a';
var str2 = 'b';
var key = 'str1';
var value = window[key]; // value == 'a';
答案 2 :(得分:0)
var map = { "string1": { path: "url1", var1:5},
"string2": { path: "url2", var1:3} };
...
var url = map[yourstring].path;