JavaScript中"新"的影响

Bri*_*ord 1 javascript new-operator

我写了一些我在视频中找到的代码,它看起来像这样:

var clientX = clientX || {} ; 
clientX.MyClass = function(initialValue){
  var var1 = initialValue;
  var publicMembers = {
    get_var1 : function(){
      return var1; 
    }
  };
  return publicMembers;
}



var result = new clientX.MyClass("val1");
alert(result.get_var1());

clientX.instance = new  clientX.MyClass("val2");
alert(clientX.instance.get_var1());


clientX.instance2= new clientX.MyClass("val3");
alert(clientX.instance2.get_var1());
Run Code Online (Sandbox Code Playgroud)

问题是,在我使用时删除"new"关键字后:var result = new clientX.MyClass("val1");没有更改,那么为什么作者选择使用它?有什么影响?

Que*_*tin 5

MyClass函数不使用this并具有显式return值,因此使用new没有任何实际效果.