>>> function() {}
SyntaxError
>>> f = function() {}
f = function() {}
>>> new function() {}
>>> Object
>>> new Function()
function anonymous() {}
>>> Function()
function anonymous() {}
>>> f = (function() { a = 10; return function() {console.log(a);} })();
>>> f()
10
undefined
>>> f = (function() { a = 10; return new Function('console.log(a)'); })();
>>> f()
undefined
因此,我有兩個問題:JavaScript的內幕101:功能和功能
爲什麼
Function
構造函數返回一個新的功能,即使沒有new
操作?用
Function
構造函數創建的函數是否關閉?
2,是的,它不是一個閉包,因爲函數定義字符串是在孤立的上下文中求值的。 –