javascript - Jscript:是否可以动态设置变量?

标签 javascript jscript wsh

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/

相关文章:

javascript - Google 联系人到下拉列表

javascript - 使用不同的复选框选择更改选项输入

javascript - 如何在 Windows Script Host 中使用 jQuery?

javascript - 函数调用上下文

javascript - 如何使用以系统用户身份运行的 WScript 访问用户的 iTunes 实例?

javascript - 如何管理WSH下的文件和目录?

javascript - 如何向静态 venn.js 图表添加子标签?

javascript - 切换复选框时语义 ui 禁用输入字段

javascript - 如何使用 Scripting.FileSystemObject 和 TextStream 将 LF 转换为 CR/LF?

javascript - 如何保存缩进的 MSXML2.DomDocument? (我认为它使用 MXXMLWriter)