如果您打开控制台并输入 Function
,它会自动为您补全,表明标识符 Function
是窗口对象的一部分。看起来好像 Function
标识符引用了一个空的匿名函数。
窗口
上的Function
标识符有什么意义?
最佳答案
Function
是一个全局变量。全局变量是全局对象的属性。在浏览器中,全局对象是window
。
如果您问 Function
本身的用途是什么:它是一个构造函数(就像 Object
、Array
或 RegExp
)来创建新的函数对象。它允许您从字符串中包含的代码创建一个新函数(几乎类似于eval
)。例如:
var myFunc = new Function('return 42;');
console.log(myFunc()); // 42
以这种方式创建的函数的行为就像它们在全局范围内声明的一样,即它们不会关闭它们实际创建的范围。
这对于评估用户提供的 JS 代码的浏览器工具非常有用,例如 Babel REPL .
关于javascript - `Function` 上的 `window` 标识符有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30407784/