创造和在JavaScript中为动态全局变量赋值

时间:2013-02-16 10:16:46

标签: javascript opera

我的JavaScript代码中有一个要求,我会动态更新全局变量,以根据这些变量的值采取特定操作。

例如:

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

这里,“this.properties.itemIndex”是整数,有助于区分项目& this.decEnabled是我想要创建的全局变量。但是我收到一个错误: 未捕获的异常:ReferenceError:无法分配给'this.incEnabled + this.properties.itemIndex'。

我想我正在尝试做一些我不应该做的事情。我想知道什么是错的。 我试图分配一个字符串值,因为上面的变量是一个字符串。还是一样的错误。 请建议。

谢谢,
斯纳

1 个答案:

答案 0 :(得分:2)

你所写的内容中有两件事似乎没有。

  1. JavaScript Assignment Operator(=)。

    此操作符的工作原理如下:

    a)从'='符号的右侧评估表达式 b)将结果分配给左侧表达式。

    你的例子中的问题是(b),左边的表达式是 不可分配,因为你正在执行一个总和(表达式 涉及算术运算不可分配。)

  2. 全局变量:this.decEnabled

    全局变量是一个变量,其范围是全局范围,即任何人 可以访问该变量。您可以在全局范围中定义全局变量 通过写在文档的顶部(或在范围之外)的文档 任何功能)以下内容:

    var global_var;
    

    在您的解释中,您说您正在尝试创建全局变量 'this.decEnabled'。但是,这在任何情况下都不能成为全局变量,因为 你将'decEnabled'绑定到一个范围(在这种情况下,你指的是 当前范围使用'this'运算符)。

  3. 您收到的错误来自(1)。

    如果您要比较值,您要查找的相等运算符是'=='或'==='。