如果您打开控制台并键入Function
,它会自动为您完成,表明标识符Function
是挡风玻璃对象的一部分。似乎Function
标识符引用了一个空的匿名函数。
Function
上的window
标识符有什么意义?
答案 0 :(得分:4)
Function
是一个全局变量。全局变量是全局对象的属性。在浏览器中,全局对象为window
。
如果您问的是Function
本身的用途是什么:它是一个构造函数(就像Object
,Array
或RegExp
)来创建新的功能对象。它允许您从包含在字符串中的代码创建一个新函数(几乎像eval
)。 E.g:
var myFunc = new Function('return 42;');
console.log(myFunc()); // 42
以这种方式创建的函数的行为与它们在全局范围内声明的行为相同,即它们不会关闭它们实际创建的范围。
这对于评估用户提供的JS代码的浏览器工具非常有用,例如Babel REPL。