我一直在寻找解决方案,但找不到任何可行的。
我有一个名为onlyVideo的变量。
"onlyVideo"字符串被传递给一个函数。我想在函数中设置变量onlyVideo。我该怎么做呢?
(有许多变量可以被调用到函数中,所以我需要它动态工作,而不是硬编码的if语句。)
编辑:可能有更好的方法来做你正在尝试做的事情。我在JavaScript探险的早期就问过这个问题。看看JavaScript对象是如何工作的。
简单介绍一下:
// create JavaScript object
var obj = { "key1": 1 };
// assign - set "key2" to 2
obj.key2 = 2;
// read values
obj.key1 === 1;
obj.key2 === 2;
// read values with a string, same result as above
// but works with special characters and spaces
// and of course variables
obj["key1"] === 1;
obj["key2"] === 2;
// read with a variable
var key1Str = "key1";
obj[key1Str] === 1;
Javascript有一个eval()函数用于以下情况:
function (varString) {
var myVar = eval(varString);
// .....
}
编辑:对不起,我想我的问题看得太快了。这只会得到你需要的变量
function SetTo5(varString) {
var newValue = 5;
eval(varString + " = " + newValue);
}
或者如果使用字符串:
function SetToString(varString) {
var newValue = "string";
eval(varString + " = " + "'" + newValue + "'");
}
但我想有更合适的方式来实现你的目标吧?我不认为eval()是你真正想要使用的东西,除非有很好的理由。eval ()
Javascript有一个eval()函数用于以下情况:
function (varString) {
var myVar = eval(varString);
// .....
}
编辑:对不起,我想我的问题看得太快了。这只会得到你需要的变量
function SetTo5(varString) {
var newValue = 5;
eval(varString + " = " + newValue);
}
或者如果使用字符串:
function SetToString(varString) {
var newValue = "string";
eval(varString + " = " + "'" + newValue + "'");
}
但我想有更合适的方式来实现你的目标吧?我不认为eval()是你真正想要使用的东西,除非有很好的理由。eval ()