zoukankan      html  css  js  c++  java
  • 函数(rest 箭头)

    函数(rest 箭头)

    1、参数的默认值

    传统方式:

    function fn (n,a) {
            var name = n||'';
            var age = a||18||'';
            if(name){
                console.log(name);
            }
        }
    

      

    ES6新方式:

    function fn1 (a,n='zs'){
            var name =n;
            var age =a;
            return {name,age};
        }
    

      

    注意:

    a:函数的默认值赋初始值,需要放到后面
    b:什么情况下会触发默认值  调用函数名不传参数,会调用默认值
     
    2、rest函数
    rest参数剩下的部分 reslut 第二参数 ...values
    使用;
    //2、rest函数  ...values (三个点+变量名) -》扩展运算符
        function sum(result,...values){
            values.forEach(function(v,i){
                result+=v;
            })
            console.log(result);
        }
        var res = 0;
        sum(res,1,2,3,4);
       //总结:rest函数:调用时排除第一个参数,其他的参数会被。。。values逐一获取到

      

    ...values 扩展运算符

    它一般结合数组使用,把数组的元素用逗号分隔开来,组成一个序列。

        function sum1(a,b,c){
            return a+b+c;
        }
        var arr = [1,2,3]
        console.log(sum1(...arr))
    

      

    3、箭头函数

    用箭头符号(=>)

    简单使用方法

        //普通函数
        var sum = function(a){
            return a;
        };
        console.log(sum(1));
        //箭头函数写法
        var sum = a=>a;
        console.log(sum(1));
    

      

    当传入参数不唯一,返回不唯一

        var sum = (a,b) => {return a+b}
        sum(1,2);//3
        console.log(sum(1,2))
    

      

    对一个数组[1,2,3,4]里面的数求和

        //传统方法
        var sum = 0;
        [1, 2, 3, 4,].forEach(function (v) {
            sum += v;
        });
        console.log(sum);
        //箭头函数
        var sum = 0;
        [1, 2, 3, 4].forEach(v => sum += v);
        console.log(sum);
    

      

     注意:

            // 箭头函数的this指向和function函数的this指向有什么区别
            //  1. 箭头函数this指向定义它的地方
            //  2. function 函数this指向调用它的地方
     
  • 相关阅读:
    JMX示例
    在开发iOS程序时对日期处理的总结(转)
    iOS 身份证验证(转)
    IOS --- OC与Swift混编(转)
    Charles辅助调试接口(转)
    iOS 调试 crash breakpoint EXC_BAD_ACCESS SIGABRT(转)
    Objective-C中常量重复定义的解决方案
    layoutSubviews、drawRect、initialize和load方法的调用
    (转)iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)
    Mac OS10.10 openfire无法启动问题(转)
  • 原文地址:https://www.cnblogs.com/wenaq/p/13597232.html
Copyright © 2011-2022 走看看