假设我有一个内部有一些方法的课程。通常我会像这样初始化它:
var myClassObj = new MyClass("Hello World");
myClassObj.SomeMethod();
我有点困惑,因为我已经看过人们这样做的例子:
new MyClass("Hello World").SomeMethod();
不使用变量,现在有人可以帮助我理解他们为什么这样做吗?有什么区别?
答案 0 :(得分:2)
什么时候会说这个
var myClassObj = new MyClass("Hello World");
你会得到一个可以在以后某个时候使用的对象。
但是这个
new MyClass("Hello World").SomeMethod();
你只能在这里使用这个对象。如果你想在某个时间之后使用这个物体,那么就
。答案 1 :(得分:1)
在第一个示例中,将MyClass的实例保存到变量myClassObj,然后调用function。
在第二个示例中,您创建新实例而不显式保存它并在其上调用方法。执行方法后,新实例将“丢失”。
答案 2 :(得分:0)
除了您自己保存一行代码之外,没有任何区别。在内部,仍在创建本地实例变量。
你可以做这样的事情的原因
new MyClass("Hello World").SomeMethod();
是因为MyClass
构造函数返回类的新实例,因此您可以处理此返回值,因为您可能认为适当。
答案 3 :(得分:-2)
也许你不需要使用变量,你只需要调用一次函数。 看到差异
new MyClass("Hello World").SomeMethod();
等于:
var myClass = new MyClass("Hello World");
myClass.SomeMethod();
delete myClass;