【问题标题】:Javascript Functions and Objects Confusion [duplicate]Javascript函数和对象混淆[重复]
【发布时间】: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


【解决方案1】:
function Object(){
  return {};
}

【讨论】:

    猜你喜欢
    • 2013-01-01
    • 2018-06-11
    • 2022-01-16
    • 2018-10-22
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    相关资源
    最近更新 更多