如果/ else语句没有大括号javascript?

时间:2015-03-06 17:20:08

标签: javascript if-statement

我搜索过,我找不到这样的问题。但是,为什么这段代码有用呢?

    this.askTeller = function(pass) {
     if (pass == 1234) return bankBalance;
     else return "Wrong password.";
   };

不应该像

this.askTeller = function(pass) {
if (pass == 1234) {
return bankBalance;
}
else {
return "Wrong password.";
};

4 个答案:

答案 0 :(得分:6)

  

不应该像

可以说应该是:

this.askTeller = function(pass) {
  if (pass == 1234) return bankBalance;
  return "Wrong password.";
};

this.askTeller = function(pass) {
  return pass == 1234 ? bankBalance : "Wrong password.";
};

例如,根本没有else

但要明确{}:他们是可选的。像if(以及whilefor等)的控制流结构连接到跟随它们的 one 语句;如果你想让它们连接到多个语句,你可以使用块语句{...})来做到这一点。

很多很多人总是使用块语句,即使他们可以不使用它,为了清晰起见而且更容易在块中添加第二个东西。

答案 1 :(得分:3)

在Javascript中,如果执行后只有一个语句,则大括号对于if/else是可选的。请注意,如果您之后将执行多个内容,则需要包含{/}或仅将第一个语句应用于条件

答案 2 :(得分:1)

您可以删除几乎所有块范围结构(ifforwhile等)的花括号。唯一的例外(嘿)我遇到的情况不是trycatch

如果您不包含花括号,则只会执行该块之后的第一个语句。



var out = document.getElementById("out");

for (var i = 0; i <= 5; i++) out.innerHTML += i;

if (out.innerHTML === "012345") out.innerHTML += " success!";
&#13;
<textarea id="out"></textarea>
&#13;
&#13;
&#13;

答案 3 :(得分:-1)

对于if语句

括号是可选的