【发布时间】:2017-10-31 18:18:30
【问题描述】:
在 Javascript 中,我们有两个基本构建块,称为函数和对象。但是我对functions are special type of objects这句话有点困惑。无论如何,在 Javascript 中:
我们创建这样的函数:
function foo(){}
现在上面声明的函数也表现得像一个对象,如下所示:
foo.staticMethod = function(){}
好的。我明白了。
现在我们创建类似这样的对象:
var obj = new Object() // Not using object literal here
也就是说,我们需要一个函数构造函数Object 来创建一个空对象。
但函数也是对象。怎么样????
所以我的简单问题是,如果Object 用于创建任何新对象,那么它如何能够成为对象本身,因为它接受属性Object.prototype 或者我应该说函数如何成为对象?
【问题讨论】:
-
好吧 javascript 不是用 javascript 编写的...
-
可能不是,而是对象构造函数本身如何成为对象?
-
不,您不需要需要构造函数来创建对象。没有函数、对象、数组或正则表达式字面量语法。
-
@Bergi 但我在某处读到文字也由构造函数在内部包装。是真的吗?
-
@ManishJangir 不是。也许反过来。实际上,它们都只是使用创建对象值的低级内置原语。
标签: javascript