函数的参数以及返回值

文章详细阐述了JavaScript函数的参数类型,包括显式参数和隐式参数,特别是arguments对象的使用。同时,讨论了函数的返回值,如何通过return设置以及未定义返回值的情况。最后,文章通过示例展示了函数在不同情况下的行为,如具名函数表达式和有条件返回的函数处理。
摘要由CSDN通过智能技术生成

一、函数的参数

        显式参数:在创建函数时,可以写一个过多个形式参数,作用域只和在哪里创建有关,何在哪里调用无关

                形参:相当于在函数中声明了局部变量,也是一个标识符,取名最好见名知意,多个形参之间用逗号隔开,在调用的时候,可以在()中写入实参

                实参:实际的数据,给形参赋值,赋值的位置是一一对应关系。如果实参个数小于形参个数,没有实参对应的形参就是undefined; 如果实参个数多余形参个数,那么多余的实参没有作用

                参数类型:参数可以是任意类型:数字、字符串、对象等都可以

        隐式参数:函数内部有一个内置对象  arguments对象, arguments对象包含了函数调用的时候的参数数组,arguments是一个类数组,但是本质是函数,可以用for-of遍历

        function fn(a,b,c) {//a b c 为形参
            console.log(a,b,c);    
            
        }
        // fn(1,2,3);//1 2 3 为实参
        var obj={
            name:"xiaohong"
        }
        function f1(x) {
            // console.log(x.name);
            x(111,222,333);//f1(fn);
        }
        // f1(obj);
        f1(fn);

        function f4() {
            console.log(arguments);
            console.log(arguments[1]);
            }
         f4(1,2,3)   
        

二、函数的返回值

可以用return设置函数的返回值,return后面跟的什么,函数的返回值就是什么, return后面跟的表达式,也是返回表达式的结果

       注意: return之后的语句都不执行,如果函数没有return,相当于return undefined

举例:

// console.log(console.log());//undefined
        function sum(a,b) {
            var c=a+b;
            return c;
            console.log("return后面不会执行!");
        }
        console.log(sum(2,3));

        // 如果函数没有return,相当于return undefined
        function f1() { }
        console.log(f1());//返回undefined

        // 比较的是两个函数(堆中存储数据),两个函数的地址不同
        function f2() { }
        console.log(f1==f2);//比较函数的地址
        console.log(f1()==f2());//比较函数的返回值(都是undefined)

        function sum2(a,b) {
            if (b!=undefined) {
                return a+b
            }
            else{
                return function(c){
                    return c+a;
                }
            }
        }
        sum2(1,2);
        sum2(1)(3);
        console.log(  sum2(1,2));
        console.log( sum2(1)(3));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值