在 JavaScript 中使用動態變數名稱
在 PHP 中,可以動態操作變數名稱。例如,給定以下 PHP 程式碼:
$a = 1; $b = 2; $c = 3; $name = 'a'; echo $$name; // prints 1
是否有等效的方法可以在 JavaScript 中實現此功能?
JavaScript 解決方案
雖然JavaScript 不像PHP 那樣支援動態變數名稱,但它確實提供了一種使用物件和屬性點或括號動態存取變數的機制
與其他程式語言一樣,JavaScript中的每個變數都儲存在稱為變數物件的物件中,該物件是目前作用域(全域或局部)的一部分。
如果我們有以下全域變數:
var a = 1; var b = 2; var c = 3;
我們可以透過在window 物件上使用「點」或「括號」符號來動態存取它們,window 物件是browsers:
var name = "a"; var value = window[name]; // returns 1 // or value = window['a']; // returns 1
需要注意的是,這種方法只適用於全域物件。在函數上下文中,變數儲存在激活物件的變數物件中,無法直接存取。
例如:
function foobar() { this.a = 1; this.b = 2; var name = "a"; console.log(window['a']); // undefined console.log(this['a']); // 1 } new foobar();
以上是如何在 JavaScript 中使用動態變數名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!