繁体   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