Javascript如何知道哪个函数引用是一个类?

时间:2015-12-09 18:21:21

标签: javascript

现在我知道这可能是一个愚蠢的问题,但我需要提高对语言的理解。首先,请看一下简单的代码:

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是一个类而不仅仅是对函数的引用?

注意:我希望我明确指出。如果没有,请在评论中告诉我。

2 个答案:

答案 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?