Function(翻译自mozilla developer network)

Function

javascript的函数都是Function对象实例。

Syntax

new Function ([arg1[, arg2[, ...argN]],] functionBody)

parameters

arg1, arg2, … argN

函数的参数名。每一个都必须是字符串,且必须是合法的javascript变量名或者以逗号’,’分隔。
例如’a’,’b’或者’a,b’

functionBody

包含javascript语句,称为函数定义。

Description

使用new Function()或者Function()创建函数,比使用function关键字要低效。

Function prototype object

properties

Function.arguments

已经被弃用,直接在函数体里面使用arguments即可。

Function.length

函数期望的参数数量,由声明函数时,函数参数个数决定。

Function.name

函数名。

Method

Function.prototype.apply()

调用函数,并更改调用时的this为指定的value,参数通过array或者array-like进行传递。

Function.prototype.bind()

返回创建的一个新的函数。它被调用时,this为指定的value。并且,当它被调用时会有预先提供的函数参数传入。

Function.prototype.call()

调用函数,并更改调用时的this为指定的value,参数按顺序传递。

Function.prototype.toString()

返回函数的源代码,重写了Object.prototype.toString()方法。

Examples

// Example can be run directly in your JavaScript console

// Create a function that takes two arguments and returns the sum of those arguments
var adder = new Function('a', 'b', 'return a + b');

// Call the function
adder(2, 6);
// > 8

Difference between Function constructor and function declaration

采用Function constructor创建的函数不会在creation context创建closure。
因此,采用Function constructor创建的函数,它们总是在全局作用域下,它们只能访问到自己内部的变量和全局变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值