我的JavaScript代码中有一个要求,我要动态更新全局变量以根据这些变量的值采取特定的措施。
例如:
this.decEnabled + this.properties.itemIndex = false;
在这里,“ this.properties.itemIndex”是一个整数,可以帮助区分各项,而this.decEnabled是我要创建的全局变量。但是我得到一个错误:
未捕获的异常:ReferenceError:无法分配给“ this.incEnabled + this.properties.itemIndex”。
我想我正在尝试做一些我不应该做的事情。我想知道是怎么回事。
我也尝试分配一个字符串值,因为上述变量是一个字符串。还是一样的错误。
请提出建议。
谢谢,
斯内哈
最佳答案
您撰写的内容中有两件事似乎根本不对。
JavaScript赋值运算符(=)。
该运算符的作用是:
a)从“ =”符号的右侧评估表达式。
b)将结果分配给左侧表达式。
您的示例中的问题是(b),左侧的表达式是
无法分配,因为您执行的是求和(
涉及算术运算不可分配)。
全局变量:this.decEnabled
全局变量是其范围为全局范围的变量,即任何人
可以访问该变量。您可以在全局范围内定义全局变量
通过在文档顶部书写(或超出文档的范围)
任何功能)如下:
var global_var;
在您的解释中,您说您正在尝试创建全局变量
'this.decEnabled'。但是,无论如何这都不是全局变量,因为
您将'decEnabled'绑定到范围(在这种情况下,您指的是
当前范围(使用“ this”运算符)。
您收到的错误来自(1)。
如果要比较值,则要查找的相等运算符为'=='或'==='。
关于javascript - 在JavaScript中为动态全局变量创建和分配值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14909179/