函数剩余参数
上一节中,有提到函数剩余参数也能解决不定参数问题。这一节我们就来学习一下剩余参数。
剩余参数(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专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!
我的微信
网友评论