我见过像var f1=new Function();
这样的用法,但仅此而已。试图在谷歌搜索Function
- 类,但没有回复我需要的东西。
它的意义是什么?
请建议我如何以及何时使用它。如果可能的话,给我一些真正的联系来研究它。
答案 0 :(得分:5)
最佳做法建议您永远不要使用基类型构造函数。在很多情况下,使用基类型new
会破坏typeof
的使用。
但是,new Function()
是有效的 JavaScript。只是不推荐,在大多数情况下没用(var a= function() {}
是等效的。)
并非您可以将Function
构造函数用作eval
调用new Function('var a = 1; return a + a;')
。但这可能很危险,所以要小心使用。
答案 1 :(得分:2)
使用new Function()
并不一定是有益的理由,因为你可以简单地创建一个空白函数:
var f1 = function () {
// my function code here;
};
// calling the function
f1();
每个人都会以Function
的原型附加到它上面。
new Function()
(也new Array()
等)因为必须进行评估。
答案 2 :(得分:1)
从技术上讲,这两个JavaScript之间并没有什么区别(其他答案已经涵盖了这一点):
var f1 = new Function();
和
var f1 = function () { };
Function
答案 3 :(得分:0)
在创建函数时,将解析使用Function构造函数创建的函数对象。这比声明一个函数并在代码中调用它效率低,因为用函数语句声明的函数用其余代码解析。
来自MDN