Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-否则不设置变量_Javascript_Jquery_If Statement - Fatal编程技术网

Javascript-否则不设置变量

Javascript-否则不设置变量,javascript,jquery,if-statement,Javascript,Jquery,If Statement,我在使用一些javascript时遇到了一些问题,我已经搜索了一个问题并给出了答案,但由于这可能是最容易做到的事情之一,我怀疑除了我自己以外的任何人都可能弄错 我试图简单地制作一个内容切换器,但是移动到下一个内容的if语句似乎不起作用: //Work out next box if (i == 2){var x=1;}else{var x=i+1;} 我已经创建了一个快速js fiddle()来尝试让它工作,如果有人能帮助我,我会很高兴,谢谢:) (我对JS知之甚少,但有一些编程知识(所以我知

我在使用一些javascript时遇到了一些问题,我已经搜索了一个问题并给出了答案,但由于这可能是最容易做到的事情之一,我怀疑除了我自己以外的任何人都可能弄错

我试图简单地制作一个内容切换器,但是移动到下一个内容的if语句似乎不起作用:

//Work out next box
if (i == 2){var x=1;}else{var x=i+1;}
我已经创建了一个快速js fiddle()来尝试让它工作,如果有人能帮助我,我会很高兴,谢谢:)


(我对JS知之甚少,但有一些编程知识(所以我知道事情是怎么做的))

当你使用一个变量时,它有两个部分:

  • 声明
  • 定义
另外,
{}
创建一个
范围

变量在声明它的范围内存在(可以使用)

宣言 声明意味着告诉程序在此范围内有一个名为
x
的变量

定义 定义意味着告诉程序变量所持有(指向)的值,并且只有在首先定义变量的情况下才能执行定义

正如您在这里看到的,您必须在荣誉之外声明变量,在
if
else
的公共
范围内

操作员:操作员 另外,正如其他用户所提到的,在javascript中有一个
三元操作符
()

用法:

条件?行动1:行动2

上述情况转化为:

if(条件)
行动1;
其他的
行动2;

它被称为
三值运算符
,因为它使用3个
操作数

i = 0;
x = 0;


if (i == 2){x=1;}else{x=i+1;}

console.log(x);


您正在使用只在块范围内创建变量的
var

您忘记发布到JSFiddle的链接。您是否知道
x
仅在括号内有用
{}
?为什么不
var x=i==2?1:i+1?还有可变范围。。。请看Probs只是一个例子,方法论是问题不是优化JavaScript使用函数范围的变量,因此应该可以从括号外访问
x
。为什么不简单
var x=i==2?1:i+1?因为用户必须学习。对他来说,用这种方法学习更容易。如果你也能加上,那就太好了。谢谢安德烈,帮助我,谢谢你把它做得很有描述性,标记为答案
 x = 3;
var x, i = 1;
if (i == 2)
    x=1;
else
    x=i+1;

console.log(x);
i = 0;
x = 0;


if (i == 2){x=1;}else{x=i+1;}

console.log(x);