簡體   English   中英

在JavaScript中創建和為動態全局變量賦值

[英]creating & Assigning values to dynamic global variables in JavaScript

我的JavaScript代碼中有一個要求,我會動態更新全局變量,以根據這些變量的值采取特定操作。

例如:

this.decEnabled + this.properties.itemIndex = false;  

這里,“this.properties.itemIndex”是整數,有助於區分項和this.decEnabled是我想要創建的全局變量。 但是我收到一個錯誤:未捕獲的異常:ReferenceError:無法分配給'this.incEnabled + this.properties.itemIndex'。

我想我正在嘗試做一些我不應該做的事情。 我想知道什么是錯的。 我試圖分配一個字符串值,因為上面的變量是一個字符串。 還是一樣的錯誤。 請建議。

謝謝,
斯納

你寫的東西有兩件事似乎不對。

  1. JavaScript賦值運算符(=)。

    該運算符的工作原理如下:

    a)從'='符號的右側評估表達式。
    b)將結果分配給左側表達式。

    您的示例中的問題是(b),左側的表達式不可分配,因為您正在執行求和(涉及算術運算的表達式不可分配)。

  2. 全局變量:this.decEnabled

    全局變量是一個變量,其范圍是全局范圍,即任何人都可以訪問該變量。 您可以通過在文檔的頂部(或任何函數的范圍之外)寫入以下內容來在文檔的全局范圍中定義全局變量:

     var global_var; 

    在你的解釋中,你說你正在嘗試創建全局變量'this.decEnabled'。 但是,這在任何情況下都不能是全局變量,因為您將'decEnabled'綁定到范圍(在這種情況下,您通過使用'this'運算符來引用當前范圍)。

您收到的錯誤來自(1)。

如果您嘗試比較值,您要查找的相等運算符是'=='或'==='。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM