上一节我们详细讲解了JS中的匿名函数,本节我们将深入学习JS函数的参数。在JS中,函数参数是用于接收传递给函数的值或引用的变量。函数可以有零个或多个参数,参数可以被用来在函数内部进行计算或操作。
JS函数中的参数有以下几种形式:
1. JS函数中的参数可以0个或是任意个。
/* JS函数中的参数可以0个或是任意个 */
/*无参数情况*/
function f1(){
console.log('f1');
}
/*单个参数情况*/
function f2(a){
console.log('f2');
}
/*多参数情况*/
function f3(a,b,c,d,e,f,g){
console.log('f3');
}
f1(),f2(0),f3(0,1,2,3,4,5,6)//控制台成功打印f1、f2、f32. 默认参数:在使用参数时对参数进行初始化。
/* JS函数中的默认参数 */
function f(a=0){
console.log(a);}
f(1); // 实际打印 1,因为传入了参数1,不会使用默认值0
f(); // 打印 0,因为没有传参,使用默认值3. 剩余参数:通过(...rest)来标识不确定参数,rest实质是一个数组。
/*剩余参数*/
function f(a,b,c,...rest)
{
console.log(rest);
}
f(1,2,3,4,5,6,7);//除去前三个参数全部打印,也就是4,5,6,74. 解构参数:解构参数允许在函数参数位置直接解构对象或数组,从而直接提取所需的属性或元素。
/*解构参数*/
//准备一个数组和一个对象
const arr=[0,1,2]
const obj ={brand:'Dotcpp编程',website:'dotcpp.com',content:'do coding',storage:99999999}
/*(ES6前)传统函数下,当参数是数组或对象时,我们需要对其进行解构才能使用*/
function f1(arr)
{
const arr0=arr[0]
const arr1=arr[1]
const arr2=arr[2]
console.log(arr0,arr1,arr2);// 0 1 2
}
function f2(obj)
{
const brand = obj.brand
const website = obj.website
const content = obj.content
const storage = obj.storage
console.log(brand,website,content,storage);//Dotcpp.html:40 Dotcpp编程 dotcpp.com do coding 99999999
}
f1(arr),f2(obj);
/*(ES6后引入解构参数)我们可以对其直接使用*/
function f3([a,b,...z])
{
console.log(a,b);// 0 1
}
function f4({brand,website,...rest})
{
console.log(brand,website);//Dotcpp编程 dotcpp.com
}
f3(arr),f4(obj);5. arguments对象:arguments是一个在传统函数内部可用的类数组对象,它包含了传递给函数的所有参数。
/*arguments对象*/
/*arguments对象的本质是将参数转存在一个类数组对象里*/
/*值得注意的是,箭头函数没有arguments对象*/
function f(a,b,c,...rest)
{
console.log(arguments.length);
}
f(1,2,3,4,5,6,7);//7总结:本节深度剖析了JS中函数参数的各种形式,让读者对JS里的函数的参数有了一个全面而清晰的认识。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程