【问题标题】:Functions are also objects?函数也是对象?
【发布时间】:2017-10-25 09:10:05
【问题描述】:

Object() 是一个构造函数,所以我想知道为什么我们可以在 Object 构造函数上调用函数,例如:Object.create()。

在一种情况下,Object 似乎是一个用于创建对象的构造函数,在另一种意义上,它似乎是一个对象本身,具有我们可以调用的方法和属性。

【问题讨论】:

  • 这是/被称为static 属性或方法。你可以研究一下 :) 基本上这是在没有给定类型的对象的情况下可以访问的方法/属性。

标签: javascript object constructor


【解决方案1】:

您所说的构造函数是更原始的函数。 函数在 Javascript 中也是对象。因此,它们可以具有属性。属性可以是函数:

function Object() {}

Object.create = function () {};

Javascript 中的所有函数都已经表现出这种特性:

function foo() {}

foo.call(bar);  # <- property .call of function object is a function

【讨论】:

  • 谢谢哥们,我现在明白了 :) 你真棒!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
  • 2021-11-07
  • 2012-09-25
  • 2014-01-31
  • 1970-01-01
  • 2017-06-09
  • 2014-09-02
相关资源
最近更新 更多