经常看到代码中使用new Function
,而不是简单地使用Function
。我想了解为什么,new
运算符在这里到底做了什么。
这两者有什么区别?
var y = new Function("a", "alert(a)")
var x = Function("a", "alert(a)")
经常看到代码中使用new Function
,而不是简单地使用Function
。我想了解为什么,new
运算符在这里到底做了什么。
这两者有什么区别?
var y = new Function("a", "alert(a)")
var x = Function("a", "alert(a)")
Function
构造函数创建一个新的Function
对象。在 JavaScript 中,每个函数实际上都是一个Function
对象。...
调用
Function
构造函数作为函数(而不使用 new 运算符)与调用它作为构造函数具有相同的效果。
由于在 Javascript 中函数实际上是对象,因此可以通过标准调用语法和 new
运算符(在这种情况下实例化新的 Function
类型的对象)来调用它们。
从文档中引用的最后一行所说的是,执行 Function()
和执行 new Function()
是相同的.
没有区别。
Function
没有区别。它被定义为以相同的方式运行。 "当Function
被作为函数而不是构造函数调用时,它会创建并初始化一个新的 Function 对象。" - Jonathan Lonowskinew
(即this
是全局对象),则会自我调用为构造函数。 - Arun P Johny