真奇怪。这是一个功能,但可以与对象

时间:2019-04-25 16:58:35

标签: javascript

我正在尝试使用Express框架设置Node.js服务器。我看到了一个函数,但是它被用作对象。我不明白这是什么意思。请为我解释。

const Users = mongoose.model('Users', userSchema);
console.log(typeof Users); // "function"

但是我可以将其用作对象,如下所示:

Users.find({}); // What this mean?????

5 个答案:

答案 0 :(得分:1)

  

JavaScript中的每个函数都是一个Function对象。功能是   一流的对象,因为它们可以仅具有属性和方法   像其他物体一样它们与其他对象的区别是   可以调用的功能。简而言之,它们是函数对象。

Understand method chaining

Function Reference: Mozilla Dev

答案 1 :(得分:0)

最后,函数只是JavaScript中的对象:

  

在JavaScript中,函数是一类对象,因为它们可以像其他任何对象一样具有属性和方法。它们与其他对象的区别在于可以调用函数。简而言之,它们是功能对象。   (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions

答案 2 :(得分:0)

函数也是js中的对象,因此您可以向其中添加属性。

函数mongoose.model()返回可以实例化的函数new User(...)或用作提供一组静态函数的Class

答案 3 :(得分:0)

  

我们看到一个函数确实是一个对象。 JavaScript函数是一种特殊的对象,称为函数对象。函数对象包含一个字符串,该字符串包含函数的实际代码(函数主体)

有关更多详细信息,请访问here

答案 4 :(得分:0)

以下代码对我很有帮助。为什么删除它大声笑=))。谢谢。您可以为所有人再次发布吗?我将删除我的评论。

function test() {
  return 'test';
}

// add property
test.some = 'hello'

console.log(test) // <-- open your browser console; you'll find a property named some with value = 'hello'
console.log(test.some);