前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端基础-ECMAScript函数

前端基础-ECMAScript函数

作者头像
cwl_java
发布2020-03-26 16:18:01
2420
发布2020-03-26 16:18:01
举报
文章被收录于专栏:cwl_Javacwl_Java

第4章 函数

4.1 参数默认值

ES5中定义函数时,不能指定参数的默认值。

ES6中定义函数时,可以指定参数的默认值。

代码语言:javascript
复制
//ES5中,只能变相实现参数默认值(函数内部加判断处理)
function f1(username){
	//传统的指定默认参数的方式
	var username = username || 'zhangsan';
	console.log('Hello ' + username);
}
f1();//Hello zhangsan
f1('lisi');//Hello lisi


//ES6中,直接给形参设置默认值
function f2(username='zhangsan'){
	console.log(`Hello ${username}`);
	//console.log('Hello ' + username);
}

f2();//Hello zhangsan
f2('lisi');//Hello lisi

4.2 展开运算符(拆包)

ES6新增了展开运算符(用三个连续的点 (...) 表示),能够将数组和字符串字面量展开为多个元素

代码语言:javascript
复制
//展开数组
var arr = [1, 2, 3];
console.log(arr); // [1, 2, 3]
console.log(...arr); // 1 2 3
//展开字符串
var str = "hello";
console.log(str);
console.log(...str);

应用:拓展参数

它允许传递数组或者类数组直接做为函数的参数。

代码语言:javascript
复制
//函数本来接收三个单独的参数
function f3(x,y,z){
	console.log(x,y,z);
}

//ES6中,我们可以将一个数组以拓展参数的形式传递,它能很好地映射到每个单独的参数
var arr=[3,4,5];
f3(...arr);//输出:3 4 5 

//ES5中,如果需要传递数组当参数,我们需要使用函数的apply方法
f3.apply(null,arr);//输出:3 4 5 

4.3 不定参数(可变参数/剩余参数)

不定参数是指,在函数中使用 命名参数 同时接收 不定数量 的 未命名参数,需要使用三个连续的点 (...) 。

这是一种语法糖(在原语法上的简化用法),ES5通过函数内部的arguments对象来达到类似效果。

不定参数的格式:

代码语言:javascript
复制
//不定参数 将多个实参放在一个数组变量中
//  ...x  三个点是固定格式,x是形参变量名
function f1(...x){
	console.log(x);
}
f1(3,4,5); //[3,4,5]

function f2(m, n, ...x){
  	console.log(m, n, x);
}
f2(2,3,4,5,6); // m=2  n=3  x=[4,5,6]
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第4章 函数
    • 4.1 参数默认值
      • 4.2 展开运算符(拆包)
        • 4.3 不定参数(可变参数/剩余参数)
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档