我可以在javascript中使用与class相同的对象吗?

时间:2009-06-24 11:22:38

标签: javascript class oop

我可以在javascript中使用与class同名的对象吗?

4 个答案:

答案 0 :(得分:4)

javascript中没有类本身,只有构建对象的方法。

直接回答你的问题,是和否。您可以创建一个构建对象的函数,但只要您拥有相同名称的变量,该函数就会被销毁。

之间没有区别
function bob() {
    //code goes here
    this.name = "bob";
}

var bob = function() {
    //code goes here
    this.name = "bob";
}

如果你声明一个名为bob的变量,那么会发生什么:

var bob = new bob();

在这种情况下,将调用函数bob,创建对象,并使用新变量bob破坏函数bob。


如果你想创建一个单例,那么你也可以按如下方式使用一个闭包:

var bob = new (function() {
    //code goes here
    this.name = "bob";
})();

答案 1 :(得分:0)

您可以对类和变量使用相同的名称,是的。但是以大写字母开始该类并将变量名称保持为小写。 (因此鲍勃和变量bob类。)

Javascript区分大小写,因此它知道区别。对你来说,两者都会读到相同的内容。

答案 2 :(得分:0)

jQuery怎么样:$('string'),我可以告诉的函数,$.ajax,一个名为ajax的方法的类。

名为$的函数和名为$的类。我知道我错了,但这就是它的样子。

答案 3 :(得分:0)

对于这种情况,您应该使您的全局函数和特定函数名称的其他选项如下所示:

var write = function(text) { console.log(text); }
write.hi = ()=>console.log("hi");
write.bye = ()=>console.log("bye");
write.word = (text)=>console.log(text);
write.feature = "Its a feature";
//...

write("baby");//'hello' printed
write.hi();//'hi' printed
write.bye();//'bye' printed
//...

享受...