函数(内置对象)
函数(内置对象)
函数是 JavaScript 函数派生的对象。 函数是 JavaScript 中的一流数据类型,因此可以将它们分配给变量并传递给函数,就像传递任何其他数据一样。 当然,函数是引用类型。
函数对象提供了诸如长度之类的静态属性和在函数执行期间传递有用信息的属性,例如参数[]数组。
构造函数
varinstanceName=newFunction([arg1[,arg2[,...]],]body);
主体参数是一个字符串,其中包含构成函数主体的文本。 可选的 argN 是函数接受的形式参数的名称。 例如:
var myAdd = new Function("x", "y", "return x y");
var sum = myAdd(17, 34);
属性
参数[] 隐式填充且隐式可用(可在函数内直接用作“参数”)传递给函数的参数数组。 如果该函数当前未执行,则该值为空。 (IE4 (JScript 2.0)、MOZ、N3 (JavaScript 1.1)、ECMA 版本 1)
arguments.callee 对当前函数的引用。 此属性已弃用。 (N4,MOZ,IE5.5)
arguments.caller 对调用当前函数的函数的引用。 此属性已弃用。 (N3, IE4)
arguments.length 传递给函数的参数数量。 (IE4(JScript 2.0)、MOZ、N3(JavaScript 1.1)、ECMA 版本 1)
arity 数字值,指示函数需要多少个参数。 此属性已弃用。 (N4 , MOZ)
调用者对调用当前函数的函数的引用,如果从全局上下文调用则为 null。 (IE4 (JScript 2.0)、MOZ、N3)
构造函数 对创建对象的构造函数对象的引用。 (IE4 (JScript 2.0)、N3 (JavaScript 1.1)、ECMA 版本 1)
length 函数期望传递的参数数量。 (IE4(JScript 2.0)、N3(JavaScript 1.1)、ECMA 版本 1)
原型 对对象原型的引用。 (IE4 (JScript 2.0)、N3 (JavaScript 1.1)、ECMA 版本 1)
方法
apply(thisArg [, argArray]) 使用 thisArg 引用的对象作为其上下文来调用函数(因此引用到函数引用 thisArg 中的 this)。 可选参数 argArray 包含在调用函数时传递给函数的参数列表。 (IE5.5 (JScript 5.5 )、N4.06 (JavaScript 1.3 )、MOZ、ECMA Edition 3)
call(thisArg [, arg1 [, arg2 [,...]]]) 调用函数将 thisArg 引用的对象作为其上下文(因此在函数引用 thisArg 中引用 this)。 可选参数 argN 在调用时传递给函数。 (IE5.5(JScript 5.5)、N4.06(JavaScript 1.3)、MOZ、ECMA 第 3 版)
toString() 返回函数源的字符串版本。 内置和浏览器对象的主体通常由值“[本机代码]”表示。 (IE4(JScript 2.0)、N3(JavaScript 1.1)、MOZ、ECMA 版本 1)
valueOf() 返回函数源的字符串版本。 内置和浏览器对象的主体通常由值“[本机代码]”表示。 (IE4(JScript 2.0)、N3(JavaScript 1.1)、MOZ、ECMA 版本 1)
支持
IE4(JScript 2.0)、N3(JavaScript 1.1)、MOZ、ECMAScript 版本 1 支持。
注释
函数的一般示例在本书中随处可见,但有关函数和函数对象的高级方面的示例,请参阅第 5 章。