字符串值之後變量假設可以有兩個變量名的另一個變量
var variable = "paypay";
var value = "this is the value of paypay!";
通過上面的信息,有沒有一種方法,使paypay = "this is the value of paypay!"
?
字符串值之後變量假設可以有兩個變量名的另一個變量
var variable = "paypay";
var value = "this is the value of paypay!";
通過上面的信息,有沒有一種方法,使paypay = "this is the value of paypay!"
?
你可以把它在字典:
var obj = {};
obj[variable] = value;
然後obj.paypay
是一個變量,它現在是"this is the value of payday!"
。
var variable = "paypay";
var value = "this is the value of paypay!";
一些可能性
var parent = {};
parent.variable = value; // this is the value of paypay!
parent[variable] = value; // this is the value of paypay!
parent["paypay"] = value; // this is the value of paypay!
parent.paypay = value; // this is the value of paypay!
var "paypay" = value; // error Unexpected string
var paypay = value; // this is the value of paypay!
爲什麼不'var paypay'呢?這裏的「父母」有什麼意義? –
假設你正確作用域爲關閉或以其他方式...那麼你就可以欺騙和還挺使用「本」;
實施例:
this[variable] = value;
console.log(variable);
但是,我認真考慮ergonaut的建議,並將其填充到一個對象中,如果您處於當前的Javascript舒適級別,則可能比使用「this」更安全。 –
eval("var " + variable + "=" + value);
即即使使用eval()函數並不總是建議的解決方案。
''var''後面缺少空格 – Lucius
謝謝,更正! –
'window [variable] = value;'也可以在不需要對象的情況下工作。所以你可以使用'paypay'而不用'obj.'paypay – NewToJS