我不确定对象文字和构造函数之间的区别。
function user() {
this.name="john"
this.getName=function (){
return this.name;
};
}
var johnUser=new user();
console.log(johnUser.getName()); // Will console john
如果我想调用
getName
而不创建任何类似Java静态方法/函数的对象怎么办?如果我可以添加
user.sayName=function() {
console.log("Hey there");
}
console.log(user.sayName()); //will console Hey there.
如何访问构造函数的属性?
最佳答案
答案是你不能。
您应该已经了解了函数上下文在JS中的工作方式。
当您使用new运算符时,将空对象作为上下文传递,这就是为什么您可以分配其属性(引用函数上下文)的原因
当您调用没有新运算符的函数时,函数的上下文是全局对象(窗口)或未定义。您可以在函数中打印此内容,以查看您拥有ATM的上下文。
您(可能)想要的是创建一个prototype
关于javascript - 是否可以在不使用JS创建对象的情况下调用构造函数函数方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42745994/