Function
構造函數 數組
建立一個新的Function對象。 在 JavaScript 中, 每一個函數實際上都是一個Function對象。
閉包
new Function ([arg1[, arg2[, ...argN]],] functionBody)
使用Function構造器生成的
Function對象是在函數建立時解析的。這比你使用函數聲明或者函數表達式(function)並在你的代碼中調用更爲低效,由於使用後者建立的函數是跟其餘代碼一塊兒解析的
。app
全部被傳遞到構造函數中的參數,都將被視爲將被建立的函數的參數,而且是相同的標示符名稱和傳遞順序。函數
注意: 使用Function構造器生成的函數,並不會在建立它們的上下文中建立閉包;它們通常在全局做用域中被建立。當運行這些函數的時候,它們只能訪問本身的本地變量和全局變量,不能訪問Function構造器被調用生成的上下文的做用域。這和使用帶有函數表達式代碼的 eval
不一樣。this
以調用函數的方式調用Function的構造函數 (不是用new關鍵字) 跟以構造函數來調用是同樣的.spa
全局的Function對象沒有本身的屬性和方法, 可是, 由於它自己也是函數,因此它也會經過原型鏈從Function.prototype
上繼承部分屬性和方法。prototype
Function.arguments
arguments
替代。
Function.arity
length
屬性代替。
Function.caller
Function.length
Function.name
Function.displayName
Function.prototype.constructor
Object.constructor
。
Function.prototype.apply()
Function.prototype.bind()
Function.prototype.call()
Function.prototype.isGenerator()
若函數對象爲
generator,返回true,反之返回
false
。
Function.prototype.toSource()
Object.prototype.toSource
方法。
Function.prototype.toString()
Object.prototype.toString
方法。