`window`上的`Function`标识符有什么意义?

时间:2015-05-23 00:50:19

标签: javascript

如果您打开控制台并键入Function,它会自动为您完成,表明标识符Function是挡风玻璃对象的一部分。似乎Function标识符引用了一个空的匿名函数。

enter image description here

Function上的window标识符有什么意义?

1 个答案:

答案 0 :(得分:4)

Function是一个全局变量。全局变量是全局对象的属性。在浏览器中,全局对象为window

如果您问的是Function本身的用途是什么:它是一个构造函数(就像ObjectArrayRegExp)来创建新的功能对象。它允许您从包含在字符串中的代码创建一个新函数(几乎像eval)。 E.g:

var myFunc = new Function('return 42;');
console.log(myFunc()); // 42

以这种方式创建的函数的行为与它们在全局范围内声明的行为相同,即它们不会关闭它们实际创建的范围。

这对于评估用户提供的JS代码的浏览器工具非常有用,例如Babel REPL