Function

全局对象Function是一个用来构造函数的构造器。 在JavaScript中每个函数都是一个Function对象。

 

继承层次

Object.prototype
 Function

构造函数

使用Function构造器生成的Function对象是在函数创建时解析的。这比你使用函数声明或者函数表达式(function)并在你的代码中调用更为低效,因为使用后者创建的函数是跟其他代码一起解析的。

所有被传递到构造函数中的参数,都将被视为将被创建的函数的参数,并且是相同的标示符名称和传递顺序。

语法

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

参数

  • arg1, arg2, … argN
    被函数使用的参数的名称必须是合法命名的。参数名称是一个有效的JavaScript标识符的字符串,或者一个用逗号分隔的有效字符串的列表;例如“×”,“theValue”,或“A,B”。
  • functionBody
    一个含有包括函数定义的JavaScript语句的字符串。

属性列表

全局的Function对象没有自己的属性和方法, 但是, 因为它本身也是函数,所以它也会通过原型链从Function.prototype上继承部分属性和方法。

版本名称语法说明
1.1lengthFunction.length获取函数的接收参数个数。值为1。

方法列表

无相应成员。

Function.prototype

属性列表

版本名称语法说明
1.1lengthFunction.prototype.lengthFunction.prototype 属性存储了 Function 的原型对象。默认值0。
1.1prototypeFunction.prototype允许为所有 Function 对象添加属性和方法。

方法列表

版本名称语法说明
1.2applyfunction.apply(thisObject[, argsArray])在一个对象的上下文中应用另一个对象的方法;参数能够以数组形式传入。
1.8bindfunction.bind(thisObject[, arg1[, arg2[, …]]])bind()方法会创建一个新函数,称为绑定函数.当调用这个绑定函数时,绑定函数会以创建它时传入 bind()方法的第一个参数作为 this,传入 bind()方法的第二个以及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调用原函数。
1.3callfunction.call(thisObject[, arg1[, arg2[, …]]])在一个对象的上下文中应用另一个对象的方法;参数能够以列表形式传入。
1.1toStringfunction.toString()获取函数的实现源码的字符串。

Function实例

继承层次

Object.prototype
 Function.prototype
  Function实例