Javascript-否则不设置变量
我在使用一些javascript时遇到了一些问题,我已经搜索了一个问题并给出了答案,但由于这可能是最容易做到的事情之一,我怀疑除了我自己以外的任何人都可能弄错 我试图简单地制作一个内容切换器,但是移动到下一个内容的if语句似乎不起作用: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知之甚少,但有一些编程知识(所以我知
//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);