使用new Function
查看代码非常常见,而不仅仅是Function
。我想了解为什么new
运算符在这里做了什么。
这两者之间的区别是什么?
var y = new Function("a", "alert(a)")
var x = Function("a", "alert(a)")
答案 0 :(得分:3)
来自the docs:
Function
构造函数创建一个新的Function
对象。在JavaScript中,每个函数实际上都是Function
对象。...
将
Function
构造函数作为函数调用(不使用new运算符)与将其作为构造函数调用具有相同的效果。
由于函数实际上是Javascript中的对象,因此可以通过标准调用语法和new
运算符(在这种情况下实例化Function
类型的新对象)来调用它们。
我从文档中引用的最后一行是说,Function()
与调用new Function()
相同。
没有区别。