搜尋

首頁  >  問答  >  主體

JavaScript 中的「變數」變數

<p>我知道 PHP 中可能有「可變」變數。例如,</p> <pre class="brush:php;toolbar:false;">$x = "variable"; $$x = "Hello, World!"; echo $variable; // Displays "Hello, World!" </pre> <p>是否可以在 JavaScript 中透過名稱作為字串來引用變數?該怎麼做呢? </p>
P粉212971745P粉212971745457 天前540

全部回覆(2)我來回復

  • P粉494151941

    P粉4941519412023-08-25 16:40:34

    如果您迫切希望這樣做,您可以嘗試使用 eval():

    var data = "testVariable";
    eval("var temp_" + data + "=123;");
    alert(temp_testVariable);

    或使用視窗物件:

    var data = "testVariable";
    window["temp_" + data] = 123;
    alert(window["temp_" + data]);

    回覆
    0
  • P粉893457026

    P粉8934570262023-08-25 11:49:08

    tl;dr:不要'不要使用eval

    #對此沒有單一的解決方案。可以透過視窗動態存取一些全域變量,但這不適用於函數的本地變數。 成為window屬性的全域變數是用letconst定義的變量,以及類別。

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

    如果您有一組固定的名稱,例如

    // BAD - DON'T DO THIS!!!
    var foo = 42;
    var bar = 21;
    
    var key = 'foo';
    console.log(eval(key));

    回覆
    0
  • 取消回覆