Jscript:是否可以动态设置变量?
Jscript: is it possible to set the variable dynamically?
在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脚本主机(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();
你可以创建一个对象并动态地分配属性,
var VarHolder = {};
VarHolder[VarName] = VarValue;
如果我的问题是正确的,那么这个话题可能会有所帮助。
(function() { eval.apply(this, arguments); }("x=1;y=2"));
WScript.Echo("x=" + x, "y=" + y); // x=1 y=2
相关文章:
- 如何在定义js文件后为外部javascript文件设置变量
- 在 Jquery/Javascript 中使用多个 OR (||) 运算符时如何设置变量
- 在值内设置变量
- 在javascript函数中设置变量
- 设置变量时破坏游戏代码
- 未设置变量的赋值| jQuery的作用是什么
- 在可编辑行内设置变量
- 在不中断形式帖子的情况下在角度中设置变量
- MongoDB MonkAPI根据数据库请求之外可用的查找结果设置变量
- text方法中的javascript设置变量
- 如何为JavaScript函数设置变量以嵌入视频
- 使用jQuery和PHP加载区域设置变量
- 包括外部JS文件和设置变量
- 在jQuery File upload插件中设置变量上传路径
- 设置变量函数不起作用
- Session.get未在Meteor.js中设置变量
- 为cytoscape.js mapData设置变量限制
- 如何在脚本标记中设置变量
- 使用控制器在conditional.js.erb文件中设置变量
- 如何从控制台动态设置变量