为了账号安全,请及时绑定邮箱和手机立即绑定

if( ) { }后面的大括号为什么要去掉??

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>new Boolean()</title>

</head>

<body>

<script type="text/javascript">
    function fn(arguments){
        var num= 0,m=0;
        for (var i=0;i<arguments.length;i++){
            if(typeof(arguments[i])!="number"){
                continue;
                num += arguments[i];
                m++;
            }
        }
        num=num/m;
        return num;

    }
    alert(fn(1,2,4,5,6));




</script>
</body>
</html>


正在回答

6 回答

if后面的条件成立时,如果只执行一行代码,大括号{}可省略;如果执行两行代码,{}必须包含这两行代码,否则语法默认只有第一句是条件成立时执行的。

0 回复 有任何疑惑可以回复我~

如果if语句下只有一句代码

就像

if(typeof(arguments[i])!="number")
{ continue; }

是可以不写大括号的,在你不写大括号的时候,默认下面第一条代码是if中的语句

所以

if(typeof(arguments[i])!="number")
{ continue }
num += arguments[i];
m++;

if(typeof(arguments[i])!="number")
continue;
num += arguments[i];
m++;

表达的是一个意思

0 回复 有任何疑惑可以回复我~

也可以去掉的啊,去掉了说明if还是只 有 continue;  这条语句了

1 回复 有任何疑惑可以回复我~

不去才是正确的吧?

0 回复 有任何疑惑可以回复我~

语法错误,所以效果出不来。

0 回复 有任何疑惑可以回复我~

你说的什么意思 你这不是没去掉吗      如果if后只跟着一句话可以不加大括号的

0 回复 有任何疑惑可以回复我~
#1

web_東 提问者

正确写法是这样的 for (var i=0;i<arguments.length;i++){ if(typeof(arguments[i])!="number") { continue } num += arguments[i]; m++; }
2018-07-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

if( ) { }后面的大括号为什么要去掉??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信