解构给默认值_ES6 中函数传参默认值等问题【06】

b5861344e2ba661b01fc7b91fbb57b94.gif

学习要点:1.参数默认值 2.name 属性

本节课我们来开始学习 ES6 中函数传参默认值等问题;

一.参数默认值

1. ES6 之前函数是无法给参数设置默认值的,而 ES6 支持了这个特性;

function fn(name,age=100,arr=[],obj={},callback=function(){}){    console.log(name); //Mr.ren    console.log(age); //100    console.log(arr); //[]    console.log(obj); //{}    console.log(callback('callback')); //undefined}fn('Mr.ren');
function fn(name,age=100,arr=[],obj={},callback=function(){}){    console.log(name); //Mr.ren    console.log(age); //200    console.log(arr); //[1,2,3]    console.log(obj); //{key:1}    console.log(callback('callback')); //callback}fn('Mr.ren',200,[1,2,3],{key:1},function(info){    return info;});

61c108af5c86cbdd65b94d31464f5cca.png

2. 函数参数的默认值,也可以是另一个函数的返回值;

function fn(r,p=pi()){    console.log(r*r*p); //314}function pi(){    return 3.14;}fn(10);

3. 如果只想传递第二往后的参数,参数一保持默认值,可用 undefined 占位;

function fn(name='Mr.ren',age){    console.log(name+'|'+age); //Mr.ren|100}fn(undefined,100); //null,空都不行

71ff3f80deb1db54b3675a3ce8591119.png

4. 支持参数二使用参数一的值作为默认值,反之不可以;

//正确function fn(x=10,y=x){    console.log(x+'|'+y);}fn();//错误function fn(x=y,y=10){    console.log(x+'|'+y);}fn();

5. 解构变量有不定元素,那么函数的参数也可以有不定参数;

function fn(name,...other){    console.log(name); //Mr.ren    console.log(other); //[100,'男']}fn('Mr.ren',100,'男');

fb001fcf7f5d305ea6f7475054e8369d.png

二.name 属性 

1. ES6 提供了一个 name 属性用于获取函数名,以方便开发者;

function fn(){};let fn2=function(){}let obj={    fn3:function(){}}console.log(fn.name); //fnconsole.log(fn2.name); //fn2console.log(obj.fn3.name); //fn3console.log((new Function()).name); //anonymous

如果您觉得有用,记得在下方点赞、关注、留言,小编会定期奉上更多的惊喜哦,您的打赏支持才是小编继续努力的动力,么么哒。

每日分享在学习过程中总结的学习经验,学习笔记,笔试题,HTML,CSS,JavaScript,jQuery教程,Vue教程,PHP教程,TinkPHP教程等,望大家能以学习为目的,每天阅读一篇文章,了解身边的技术,陪有梦想的人一起成长!

be507e0d44aa95a0977cd327a7470766.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值