javascript - 函数也是对象?

标签 javascript object constructor

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

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

最佳答案

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

function Object() {}

Object.create = function () {};

Javascript 中的所有函数都已表现出此特征:

function foo() {}

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

关于javascript - 函数也是对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46928353/

相关文章:

c++ - 在没有 new 的情况下从未知类调用复制构造函数

javascript - 简单的 JavaScript 正则表达式

javascript - 无法使用 JSONP 和 Mustache JavaScript 模板枚举对象中的部分

javascript - innerHTML 不尊重缩进

C++11 - 如何为多维数组的右值引用提供有效的构造函数?

Javascript - 构造函数的属性和原型(prototype)

javascript - 将变量从 .ts 导入 .scss

javascript - 从 javascript 对象中查找范围

javascript - 声明对象数组时的函数作用域问题

c++ 将一个类中的对象推送到另一个类中的 vector 中?