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

2017-05-21  本文已影响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专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!

我的微信
上一篇下一篇

猜你喜欢

热点阅读