如何在Javascript中定义'功能'(不是'功能')?

lox*_*xxy 4 javascript function

我碰巧注意到Javascript也支持Function关键字,就像在ActionScript中一样.由于两者都源自ECMA Script,因此存在这种相似性是常识.但我很好奇函数在Javascript的情况下代表什么,如果不是一个类(如在as3中).

在JS中,

var func = new Function(); 要么 var func = new Function;

为变量'func'指定一个名为'anonymous'的函数.

它可能只是一种以面向对象的方式实现实际"函数"的方法.

由于大多数浏览器(ff,即&chrome)似乎以相同的方式实现它,它是否在规范中得到解决?

Roc*_*mat 6

Function是所有功能延伸的"类".所有功能都是Function对象.

(function(){}) instanceof Function === true
Run Code Online (Sandbox Code Playgroud)

您还可以使用new Function从字符串(如eval)创建函数.

var func = new Function('x,y', 'return x+y;')
Run Code Online (Sandbox Code Playgroud)