亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript中的“變量”變量?

Javascript中的“變量”變量?

慕萊塢森 2019-05-24 14:55:04
Javascript中的“變量”變量?我知道PHP中可能有“變量”變量。例如$x = "variable";$$x = "hello, world!";echo $variable; // displays "hello, world!"是否可以在javascript中將變量的名稱引用為字符串?怎么做?
查看完整描述

4 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

對此沒有單一的解決方案(嗯,有eval,但不要認真考慮)??梢酝ㄟ^動態訪問某些全局變量window,但這對于函數本地變量不起作用。成為屬性的全局變量是windowlet和定義的變量const,以及classes。

幾乎總是比使用變量變量更好的解決方案!相反,您應該查看數據結構并為您的問題選擇正確的數據結構。

如果你有一組固定的名字,比如

// BAD

var foo = 42;

var bar = 21;


var key = 'foo';

console.log(eval(key));

將這些名稱/值存儲為對象的屬性,并使用括號表示法動態查找它們:


// GOOD

var obj = {

  foo: 42,

  bar: 21,

};


var key = 'foo';

console.log(obj[key]);

在ES2015 +中,使用簡潔的屬性表示法為現有變量執行此操作更加容易:


// GOOD

var foo = 42;

var bar = 21;

var obj = {foo, bar};


var key = 'foo';

console.log(obj[key]);

如果你有“連續”編號的變量,例如


// BAD

var foo1 = 'foo';

var foo2 = 'bar';

var foo3 = 'baz';


var index = 1;

console.log(eval('foo' + index));

然后你應該使用數組而只是使用索引來訪問相應的值:


// GOOD

var foos = ['foo', 'bar', 'baz'];

var index = 1;

console.log(foos[index - 1]);


查看完整回答
反對 回復 2019-05-24
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

要在javascript中僅使用字符串引用變量,您可以使用

window['your_variable_name']

您也可以在變量中設置和引用變量和對象。


查看完整回答
反對 回復 2019-05-24
  • 4 回答
  • 0 關注
  • 683 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號