我可以在javascript中使用与class同名的对象吗?
答案 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
//...
享受...