在没有变量的情况下初始化Class

时间:2014-07-14 13:53:14

标签: javascript

假设我有一个内部有一些方法的课程。通常我会像这样初始化它:

var myClassObj = new MyClass("Hello World");
myClassObj.SomeMethod();

我有点困惑,因为我已经看过人们这样做的例子:

new MyClass("Hello World").SomeMethod();

不使用变量,现在有人可以帮助我理解他们为什么这样做吗?有什么区别?

4 个答案:

答案 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;
相关问题