在config.txt中,我有以下字符串:
Dispatcher=argo
Address=10.5.23.14
User=joe
在我的script.js中,我有变量:
var Dispatcher, Address, User;
在 script.js 中,我读取 config.txt,解析字符串并获取名称/值对:
ConfigPair = ConfigString.split("=");
VarName = ConfigPair[0];
VarValue = ConfigPair[1];
我想要的是将 VarValue 分配给 VarName 变量。比如说,如果我在 VarName 中得到“Address”,在 VarValue 中得到“10.5.23.14”,我想将 Address 变量设置为 10.5.23.14。
我不想做这样的事情:
if (VarName == "Dispatcher") {
Dispatcher = VarValue;
} else if (VarName == "Address") {
Address = VarValue;
} else if bla-bla-bla
我想以某种方式“读取” VarName 的值并将 VarValue 分配给相应的变量。是否可以在 Windows Script Host (JScript) 中执行此操作?我玩过eval,但没能成功。有什么想法吗?
谢谢, 浣熊
最佳答案
如果您在浏览器中工作,您可以使用全局 window
对象,如下所示:
// VarName = "User"
// VarValue = "joe"
window[VarName] = VarValue;
alert(User); // prints "joe"
User = 'jack';
alert(User); // prints "jack"
<小时/>
编辑
使用 WSH 和 Windows 7 进行测试:
(function () {
var VarName = 'User'; // ConfigPair[0]
var VarValue = 'joe'; // ConfigPair[1]
this[VarName] = VarValue;
})();
WSH.Echo(User); // prints "joe"
WSH.Quit();
关于javascript - Jscript:是否可以动态设置变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15172073/