JavaScript(九) Function对象

Function 对象

1. 函数与 Function 对象

函数是这样的一段 JavaScript 代码,它只定义一次,但可能被执行或调用多次。
Function 类型是 JavaScript 提供的引用类型之一,通过 Function 类型创建 Function 对象。
在 JavaScript 中,函数也是以对象的形式存在的。每个函数都是一个 Function 对象。
函数名,本质就是一个变量名,是指向某个 Function 对象的引用。

在 JavaScript 中,函数除了可以通过函数定义语句或字面量表达式两种方式定义之外,还可以通过 Function 类型进行定义:

         /*
            TODO var fun = new Function();
            TODO * 创建了一个 Function 类型的对象
            TODO * 该对象实际是一个函数
         */
        var fun = new Function();
        //console.log(fun);//输出函数
       /*
            TODO new Function()
            TODO * 最后一个参数 - 识别为 函数体
            TODO * 除最后的参数以外 - 都是 形参
         */
      let fun=new Function("a","b","let sum=a+b; return sum");

     console.log(fun)   
                         // 输出function对象 ƒ anonymous(a,b
                         //  ) {
                         //     let sum=a+b; return sum
                         //   }

值得注意的是: 通过 Function 类型定义函数的效率远不如通过函数定义语句或字面量表达式两种方式定义。

目前,定义函数具有三种方式,这三种方式之间存在一定差别:

定义方式执行效率
函数定义语句函数名被声明提前不存在效率问题
字面量表达式函数体固定,无法动态执行不存在效率问题
Function 类型定义函数体是字符串,可以动态执行效率低

3. 函数的属性和方法

由于每个函数都是一个 Function 对象,Function 类型也提供了一些属性和方法:

属性名描述
length表示函数希望接收的命名参数的个数。
方法名描述
call()在指定的函数内调用另一个函数,参数能够以列表形式传入。
apply()在指定的函数内调用另一个函数,参数能够以数组形式传入。
bind()用于基于现有函数创建一个新函数对象。同时为新函数对象提前绑定this值或设置参数值。

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值