我在使用一些javascript时遇到了一些麻烦,我已经搜索了一个问题并回答了这个问题,但由于它可能是最简单的事情之一,我怀疑除了我自己以外的任何人都会弄错。< / p>
我正在尝试简单地创建一个内容切换器,但移动到下一段内容的if语句似乎不起作用:
//Work out next box
if (i == 2){var x=1;}else{var x=i+1;}
我已经创建了一个快速的小提琴手(http://jsfiddle.net/TuMEa/5/)试图让这个工作,如果有人可以帮助我,我会很高兴,谢谢你:)
(我的JS知识很少,但是有一些编程知识(所以我理解做了什么))
答案 0 :(得分:1)
使用变量时,它有2个部分:
此外,{}
会创建scope
。
变量在声明的范围内存在(可以使用)。
var x;
声明意味着告诉程序在此范围内有一个名为x
的变量。
x = 3;
定义意味着告诉程序该变量保存的值(指向),并且只有在首先定义变量时才能完成。
正如您在此处所看到的,您必须在scope
和if
的公共else
中声明您的变量以外的荣誉。
var x, i = 1;
if (i == 2)
x=1;
else
x=i+1;
console.log(x);
此外,正如其他用户提到的,在javascript中有一个ternary operator
(conditional operator)。
用法:
condition ? action1 : action2;
以上翻译为:
if(condition)
action1;
else
action2;
它被称为ternary operator
,因为它使用3 operands
。
答案 1 :(得分:0)
i = 0;
x = 0;
if (i == 2){x=1;}else{x=i+1;}
console.log(x);
您正在使用var
,仅在块范围内创建变量。