首页 > 其他 > 详细

es6箭头函数

时间:2019-05-27 10:59:14      阅读:105      评论:0      收藏:0      [点我收藏+]
  • 默认值
    //1、参数默认值 位置在所有形参的后面
    //es6之前的采取的默认值只能变相采取
    function test(a,b) {
        a=a||2;
        b=b||2;
        return a*b
    }
    console.log(test());
//但是这个有弊端  当我们传递的值为0的时候,还是会走默认值。改造之后
    function test1(a,b) {
        a=typeof a==="undefined"?2:a;
        b=typeof b==="undefined"?2:b;
        return a*b
    }

    console.log(test1(0,0))
//    es6为我们提供了默认值
//    语法糖:  function(a,b=2){}
     let test2=(a=2,b=2) =>{
        return a*b
    };
    console.log(test2());

技术分享图片

  • 默认参数的名字 默认参数的名字不能和函数内的形参名字相同,如果相同会报错,没有默认值的情况下,形参名字可以相同。
    //使用默认参数的时候,函数的形参中的参数名字不能和默认参数的名字一样 会报错。但是不是默认参数的时候可以是相同的名字
    function fn (a,a) {
        return arguments[0]*arguments[1]
    };
    console.log(fn(2,2));
    //但是如果使用的是默认参数的时候不能同名
    function fn1 (a,a=2) {
        console.log(2)
    }
    console.log(fn1(2,2));

技术分享图片

  • 默认参数不是传值,每次在使用默认值得时候,才进行表达式求值。即惰性求值
1 //    默认参数 不是传值,每次在使用的时候都会进行计算,惰性求值。
2     let  a=(a,b=2+1)=>{
3         return a*b
4     };
5     console.log(a(2));

 

1    let  valEx=(a=2,b=2)=>{
2         console.log("执行一次");
3         return a*b
4     };
5     let  a=(a,b=valEx())=>{
6         return a*b
7     };
8     console.log(a(2));

技术分享图片

 

es6箭头函数

原文:https://www.cnblogs.com/evilliu/p/10929391.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!