• throw&arguments&rest&return


    函数基础

    function abs(x) {
        if (x >= 0) {
            return x;
        } else {
            return -x;
        }
    }
    

    当函数遇到return时候,函数执行完毕,abs(value)为返回值,为方便使用返回值,推荐以下写法
    如果没有return则在最末尾返回return undefined;

    var abs = function (x) {
        if (x >= 0) {
            return x;
        } else {
            return -x;
        }
    };
    

    所得的abs则为该函数的返回值,注意第二种写法末尾要加;表示赋值结束



    函数错误反馈throw

        // 错误条件
        if (typeof x !== 'number') {
            // 抛出内容
            throw 'Not a number';
        }
    

    通过throw将函数错误抛出,函数执行完毕



    arguments

    我们知道当传入参数时候只有对应索引值能够被执行

    function foo(x) {
        console.log(x);
    }
    
    foo(10);     // 10
    foo(10,20) // 10
    
    
    function foo(x) {
        for (var i of arguments) {
            console.log('arg ' + i );
        }
    }
    
    foo(10,20,30) 
    /*
    *  arg 10 
    *  arg 20
    *  arg 30
    */
    

    arguments代表了传入的所有值,并形成数组,可以通过数组形式进行输出。

    abs(5,6,8,7,9)
    
    /*
    * 传入函数中的值形成数组
    * arguments = [5,6,7,9]
    */
    

    常用于:传入一组必选和可选值的时候,进行数据替换

    // 如abd为必选参数,d为可选参数
    funtion abs(a,b,c,d){
        if(arguments.lenth === 3){
            d = c;
            c = null;
        }
        ...
    }
    
    abs(10,20,30,40) //abc
    abs(10,20,40)  // abd
    


    rest写法

    当一个函数被传入多个参数而只需要其中一部分的时候,我们通常可以在传参时用...将多余的部分截取出来保留。

    function foo(a,b,...rest){
        console.log(a,b);
        console.log(rest);
    }
    
    foo(10,20,30,40,50,60);
    // 10 20
    // (4) [30,40,50]
    
    foo(10)
    // 10 undefined
    // []
    


    return

    javascript在渲染时候会将;未补全的自动补全,当我们写return的时候会出现以下问题

    return 
        a;
    
    /* 转换成
    * return;
    * a;
    */
    
    // 正确写法
    return {
        a
    }
    
    夹具
  • 相关阅读:
    Java8-Stream-No.10
    Java8-Stream-No.09
    Java8-Stream-No.08
    Java8-Stream-No.07
    Java8-Stream-No.06
    Java8-Stream-No.05
    Java8-Stream-No.04
    Java8-Stream-No.03
    Java8-Stream-No.02
    Java8-Stream-No.01
  • 原文地址:https://www.cnblogs.com/jilaokang/p/8645603.html
Copyright © 2020-2023  润新知