在JavaScript
中,函数其实就是对象。使函数不同于其他对象的决定性特点时函数存在一个被称之为[[Call]]
的内部属性。内部属性无法通过代码访问,而是定义了代码执行时的行为。
ECMAScript
为对象定义了多种内部属性,这些内部属性都使用[[]]
来标记。
[[Call]]
属性是函数独有的,表明该对象可以被执行。
你可以像使用对象一样使用函数,可以将它们赋给变量,在对象中添加它们,将它们当成参数传递给别的函数,或从别的函数中返回。函数就是值。
A function is a JavaScript
procedure - a set of statements that performs a task or calculates a value.