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

来源:4-9 继续循环continue

web_東

2018-07-26 07:24

<!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回答

  • 慕粉0264319
    2020-05-13 09:14:57

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

  • 慕仰1008517
    2019-10-25 13:37:01

    如果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++;

    表达的是一个意思

  • 练习时长两年半的前端实习生
    2018-08-18 15:15:15

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

  • 慕盖茨2714899
    2018-08-05 00:32:14

    不去才是正确的吧?

  • web_東
    2018-07-27 02:30:34

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

  • 俊哥哥AA
    2018-07-26 09:28:07

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

    web_東

    正确写法是这样的 for (var i=0;i<arguments.length;i++){ if(typeof(arguments[i])!="number") { continue } num += arguments[i]; m++; }

    2018-07-27 02:28:57

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

467395 学习 · 21877 问题

查看课程

相似问题