new Function()建立函數

語法 :服務器

let str = 'return ' + '`Hello ${name}!`';
let func = new Function('name', str);
func('Jack') // "Hello Jack!"        

 

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

換句話說,函數的參數(或更確切地說,各參數的名稱)首先出現,而函數體在最後。全部參數都寫成字符串形式。架構

new Function容許將任何字符串轉換爲函數。例如,咱們能夠從服務器接收新函數而後執行它。函數

應用場景:模板動態編譯函數等需求下code

使用new Function建立的函數,其[[Environment]]引用全局詞法環境,而不是包含該函數的外部詞法環境。所以,他們不能使用外層的變量。但這確實很好,由於它能夠使咱們免於錯誤。明確地傳遞參數在架構上是一種更好的方法,而且不會在使用minifiers時不會產生問題。字符串

相關文章
相關標籤/搜索