JS中的Function对象

2.Function对象

2.1定义

​ 函数:程序中用来保存一段可以重复使用的代码段的程序结构或对象,且可以完成一定的功能

2.2何时使用

​ 在一段代码可能会被反复使用时,都需要先定义在函数中,然后反复调用来实现

2.3如何创建
2.3.1函数形式
function f(参数列表){
       函数体
       //return可有可无,根据需要选择
       return 返回值;
   }

​ 形参:定义函数时的参数

​ 实参:调用函数时传递的参数

​ return:函数的执行结果

2.3.2赋值形式
var fun=function(参数列表){
       函数体
   }

采用赋值形式创建函数,避免了函数在提升时遇到同名函数会覆盖的问题,示例如下:

		//函数的提升
		/*
        函数提升
        ~~function f(){console.log(1)};~~ 
        function f(){console.log(2)};
        后一个的函数声明会覆盖掉上一个
        f();  //2
        f();  //2
        */

        function f(){console.log(1)};
        f();  
        function f(){console.log(2)};
        f();

如果使用赋值形式,输出结果就是不同的

		//函数的提升问题中,函数的声明会提前到当前作用域的最前面,但赋值是留在原始位置的
		var f=function(){console.log(1)};
        f();  
        var f=function(){console.log(2)};
        f();
2.3.3构造函数形式

这种形式创建函数不常使用,

var f=new Function("参数1","参数2","函数体");

2.4重载

2.4.1定义

​ 具有不同的参数个数,有相同的函数名的函数,会根据传入的参数的个数来选择执行函数

2.4.2 存在问题

JS中,当两个函数名相同时,无论参数是否相同,最后定义的一个函数会将前面的所有定义覆盖,只有最后一个函数会起作用。

2.4.3 解决办法

arguments对象

  • 该对象是js中每一个函数自带的

  • 专门用来接收传入函数的实参的,其中arguments.length表示传入参数的长度

  • 该对象是一个类数组对象 – 像数组的对象

    包含下标,有长度length属性,可以使用循环进行遍历

示例:

        // 重载  
        // arguments  用于判断传入的参数的个数,参数不同执行的程序不同
        function pay(){
            if(arguments.length===0){
                console.log("手机支付....");
            }else if(arguments.length===1){
                console.log(`现金支付${arguments[0]}元`);
            }else 
            if(arguments.length===2){
                console.log(`卡号${arguments[0]},扣款${arguments[1]}元`);
            }else{
                console.log(`密码不正确`);
            }
        }
        pay();
        pay(200);
        pay("1245 6789",387);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值