现在我知道这可能是一个愚蠢的问题,但我需要提高对语言的理解。首先,请看一下简单的代码:
JS:
function Blog(body , date){
this.body = body;
this.date = new Date(date);
}
Blog.prototype.toString = function(){
return '[' + (this.date.getMonth() + 1) + '/' + this.getDate() + '/' + this.getFullYear() + ']' + this.body;
};
现在,我们人类可以清楚地看到Blog
对象有一个对象构造函数,并且有一个由Blog
类拥有的函数。现在,在一天结束时,构造函数仍然是function
,这是一个像任何其他函数一样编写的函数:相同的语法,相同类型的参数等。
现在我的问题是:根据这个,每个函数引用(在本例中为Blog
)都可以是一个类。这是真的吗?如果不是这样,javascript如何知道Blog
是一个类而不仅仅是对函数的引用?
注意:我希望我明确指出。如果没有,请在评论中告诉我。
答案 0 :(得分:3)
可以使用JavaScript中的new
关键字调用每个函数,因此每个函数都可以用作构造函数。但是,只有某些函数在使用new
调用时才会创建有用的对象。
答案 1 :(得分:1)
实际上,javascript中没有任何类。没有课程。但“我们人类”可以假装他们是班级。在这种情况下,是的,每个函数都可以是一个类;)
另请参阅:What techniques can be used to define a class in JavaScript, and what are their trade-offs?