函数的参数与return

参数

1、参数是局部变量,优先级高于同名的全局变量
2、是为了解决函数的抽象化,多态化。具备模块化功能
3、js因为是弱引用语言,参数可以多样化改变,但也因此造成函数中需要对参数做大量的判断
4、参数也可以做为递归函数中初始设置变量
5、在多函数中,参数可以被作为中介值来回传递,并且处理。减少全局变量
6、js中参数没有初始值(ES5),参数是没有类型区分(所以自己要加上大量判断),
参数的先后问题(必要的参数在前,不必要的参数在后),(ES5)参数没有若干(…arg)但是arguments

return

1、使用return跳出函数,条件作用时,使用return可以解决多分支结构
return使用跳出时直接跳出循环或者条件,返回undefined
使用return可以在setInterval或者快速连续调用时用于防抖
使用return可以完成函数的开关操作
2、工厂模式
利用ce创建多个元素,每个元素都不一样,但是采用的一套模式生产的元素。

3、单例模式

单例一:
     function createElem(){
         if(elem) return elem;
         elem=document.createElement("div");
         return elem;
     }
单例二:
     function createElem(){
         if(!elem) elem=document.createElement("div");
         return elem;
     }
单例三:
        class Box{
         static _instance
         constructor(){
        }
         static getInstance(){
             if(!Box._instance)Box._instance=new Box();
             return Box._instance;
         }

     }
     var a=Box.getInstance
    var b=Box.getInstance;
    console.log(a===b);
单例四:
class Box{
        constructor(){

        }
        static get instance(){
            if(!Box._instance){
                Object.defineProperty(Box,"_instance",{
                    value:new Box()
                })
            }
            return Box._instance;
        }

        play(){
            console.log("play");
        }
        run(){
            console.log("run");
        }
    }
    var a=Box.instance
    var b=Box.instance;
    console.log(a===b);

4、返回参数对象
5、如果参数是函数,返回回调函数的结果

    function fn1(fn){
        return fn(5,6);
    }

    function fn2(a,b){
        return a+b;
    }

   var sum=fn1(fn2);
   console.log(sum); 

6、返回数组或者对象,用于返回多个元素
7、返回函数体

function fn(){
    return function(){
        console.log("aaa");
    }
}


var f=fn();
f();
f();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值