使用增量进行变量初始化

时间:2011-05-27 16:11:47

标签: javascript

是否可以通过递增来初始化变量?这是我的意思的一个例子:

  

在此示例中,x尚未初始化

     
    

>x += 1

         

>print(x)

         

1

  

3 个答案:

答案 0 :(得分:1)

不,该代码不能保证在所有ECMAScript(JavaScript)解释器中都有效。

大多数引擎都应抛出一个ReferenceError,说“x未定义”。即使是可能为您自动声明x的宽松解释器,也会将其定义为“未定义”,undefined + 1NaN,而非1。

答案 1 :(得分:0)

没有。这在JavaScript中是不可能的。变量必须在使用/递增之前声明。

答案 2 :(得分:0)

var x = ++x || 1;

  1. 在初始运行时,x未定义,OR的第一部分将为false,但第二部分将被使用。
  2. 在任何连续运行中,将使用OR的第一部分,而第二部分将被忽略。