Javascript 函数(){}在赋值给变量时是什么意思

Javascript 函数(){}在赋值给变量时是什么意思,javascript,node.js,Javascript,Node.js,我知道函数是javascript中的对象,函数可以分配给变量。我也知道这个问题: 但我想知道,在这方面,它究竟意味着什么: 此行后面是“假定的”User对象的一些成员函数(方法?)的声明。 在SO中似乎没有其他解释答案。这意味着用户是一个不需要输入、没有副作用且不返回任何内容的函数 它很可能是一个类构造函数,稍后将向其中添加方法User.foo=function() 您应该在Javascript中查找伪经典继承。与Java类似,代码将向User类添加静态方法,而不是对象 我仍然非常确信代码遵循

我知道函数是javascript中的对象,函数可以分配给变量。我也知道这个问题:

但我想知道,在这方面,它究竟意味着什么:

此行后面是“假定的”
User
对象的一些成员函数(方法?)的声明。
在SO中似乎没有其他解释答案。

这意味着
用户
是一个不需要输入、没有副作用且不返回任何内容的函数

它很可能是一个类构造函数,稍后将向其中添加方法
User.foo=function()

您应该在Javascript中查找伪经典继承。与Java类似,代码将向
User
类添加静态方法,而不是对象

我仍然非常确信代码遵循Java类模式,因为作者更希望
User
是一个可以实例化的构造函数,具有静态方法,并且没有实例方法(我看到),而不是一个具有函数属性的对象。你是对的,这是迂回的,但如果作者是Java开发人员,他们会这么做。它的优点是以后可以将实例方法添加到
用户
,对客户端代码的影响很小,但我看不到有证据表明这会发生在
用户
(我看的时间不长)


顺便说一句,我推断这是因为函数的
capitalednames
意味着在Javascript工程中通常应该使用
new
调用它,这意味着它是一个类。找出类为什么更可取只是与Java经验有关。

在Javascript中创建对象的标准方法是:

函数用户(配置){
this.config=config;
...
}
用户=新用户(配置)

它使用
这个
上下文(和概念)。如果要创建命名属性和/或方法,则使用此格式

如果不需要创建此
上下文,可以使用以下内容:

User=function(){}


这里的构造函数是匿名的,不创建任何上下文。出于同样的原因,不需要使用
new
关键字。

这看起来像是创建新的空类,而不仅仅是一个无操作函数,几乎与空对象模式类似。在您的情况下,函数的赋值只是垃圾。从来没有人打过电话。它应该是一个普通对象
var User={}
@Bergi:函数被调用(+其他)。情况并非如此,函数是在
User
函数上添加的,而不是在
User.prototype
上添加的。当您可以简单地使用
{}
时,在这里使用函数似乎是错误的。谢谢,我也“来自”Java世界,您给出的解释对我很有意义。
User = function(){}