JavaScript Function 对象
- Function
- 每个 JavaScript 函数实际上都是一个Function对象。运行(function(){}).constructor === Function // true便可以得到这个结论。构造函数Function()(en-US)创建一个新的Function对象。直接调用此构造函数可以动态创建函数,但
- new Function()
- Function构造函数创建一个新的Function对象。直接调用此构造函数可用动态创建函数,但会遭遇来自eval的安全问题和相对较小的性能问题。然而,与 eval 不同的是,Function 构造函数只在全局作用域中运行。每个 JavaScript 函数实际上都是一个Function对象。运行(f
- Function.length
- length属性指明函数的形参个数。Function.length属性的属性特性:writablefalseenumerablefalseconfigurabletrue描述length是函数对象的一个属性值,指该函数有多少个必须要传入的参数,即形参的个数。形参的数量不包括剩余参数个数,仅包括第一个
- Function.name
- function.name属性返回函数实例的名称。Function.name属性的属性特性:writablefalseenumerablefalseconfigurabletrue请注意,在非标准的ES2015之前的实现中,configurable属性也是false。示例函数声明的名称name属性返
- Function.prototype.bind()
- bind()方法创建一个新的函数,在bind()被调用时,这个新函数的this被指定为bind()的第一个参数,而其余参数将作为新函数的参数,供调用时使用。语法function.bind(thisArg[, arg1[, arg2[,...]]])参数thisArg调用绑定函数时作为this参数传递
- Function.prototype.apply()
- apply()方法调用一个具有给定this值的函数,以及作为一个数组(或类似数组对象)提供的参数。注意: call()方法的作用和 apply()方法类似,区别就是call()方法接受的是参数列表,而apply()方法接受的是一个参数数组。语法func.apply(thisArg,[argsArra
- Function.prototype.call()
- call()方法使用一个指定的this值和单独给出的一个或多个参数来调用一个函数。注意:该方法的语法和作用与apply()方法类似,只有一个区别,就是call()方法接受的是一个参数列表,而apply()方法接受的是一个包含多个参数的数组。语法function.call(thisArg, arg1,
- Function.prototype.toString()
- toString()方法返回一个表示当前函数源代码的字符串。语法function.toString()返回值表示函数源代码的一个字符串描述Function对象,toString方法返回一个字符串,其中包含用于定义函数的源文本段。在Function需要转换为字符串时,通常会自动调用函数的toStrin