我不确定对象文字和构造函数之间的区别。

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/

10-11 09:19
查看更多