美文网首页
032|匿名函数&函数剩余参数

032|匿名函数&函数剩余参数

作者: 中年小钢炮 | 来源:发表于2017-05-21 17:06 被阅读24次

    函数剩余参数

    上一节中,有提到函数剩余参数也能解决不定参数问题。这一节我们就来学习一下剩余参数。

    剩余参数(rest parameters),当调用函数时传入的参数比函数本身定义的参数多时,那些多余的参数组成了一个数组变量,这个变量就叫剩余参数。

    剩余参数的语法是:

    fucntion funcName(...restArgs) // 三个"."后跟一个变量名
    

    我们尝试用剩余参数来解决上一节中的问题:

    function sayHi(...restArgs) // 此处添加了剩余参数
    {
      for (var i = 0; i < restArgs.length; i++)
      {
          console.log("Hello "+restArgs[i]+"!") // 通过剩余参数来引用参数
      }
    }
    sayHi("David") // 1个参数
    sayHi("David", "James") // 2个参数
    sayHi("David", "James", "Lucy") // N个参数
    

    跟arguments不太一样,restArgs需要在函数中定义,且只包含剩余的参数。在上述代码中,因为函数并未定义其它参数,因此restArgs等同于arguments。我们来看运行结果:

    运行结果

    可以看到,其运行结果和使用arguments的结果是一样的。

    匿名函数

    在前面的课程里,我们每一次定义函数的时候,都必须给函数起一个函数名。
    实际上,在JavaScript中,有种无名函数,叫做匿名函数。创建匿名函数,可以不给函数起名字,但必须将函数赋值给一个变量。
    我们通过下面的例子来学习匿名函数:

    var sayHi = function () // 此处没有函数名
    {
        console.log("Hello world!")
    }
    sayHi();
    

    在上面代码中,没有写函数,而是直接将函数赋给了一个变量,像这样的函数就叫做匿名函数。

    匿名函数没有特别的作用,在开发中有些情况下,函数名字可有可无,为了方便开发者省事,JavaScript提供了匿名函数的特性。

    好了,这一节就讲到这里。恭喜你!关于函数的技巧,你掌握的越来越多了!

    什么是函数调用栈?什么是绑定函数?

    请继续关注我的课程,我将在后续课程中为大家解答上述问题。

    想学计算机技术吗?需要1对1专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!

    我的微信

    相关文章

      网友评论

          本文标题:032|匿名函数&函数剩余参数

          本文链接:https://www.haomeiwen.com/subject/sdqvxxtx.html