我正在潜入(或尝试)高级 javascript 主题,如原型、构造函数、函数属性等,一些事实让我得出结论,javascript 函数也是对象。
我知道函数的数据类型是function
,因为:
> typeof function(){}
'function'
但不管怎么说:
- 您可以将属性分配给函数(就像它是一个对象一样)
- 函数有它的
length
属性 Function.prototype
的原型是Object.prototype
(原型链):> Object.getPrototypeOf(Function.prototype) === Object.prototype true
有人可以弄清楚javascript函数是否是对象吗?如果是,为什么是typeof function == 'function'
and typeof [] == 'object'
; 如果不是 - 我上面提到的几点怎么样?
编辑:还有一个问题 - 什么是一流的对象?