在JavaScript中使用Function类

时间:2013-10-22 18:24:42

标签: javascript function class

我见过像var f1=new Function();这样的用法,但仅此而已。试图在谷歌搜索Function - 类,但没有回复我需要的东西。

它的意义是什么?

请建议我如何以及何时使用它。如果可能的话,给我一些真正的联系来研究它。

4 个答案:

答案 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