Gibt es einen Unterschied zwischen der Verwendung eines Konstruktors zum Erstellen eines Objekts und der Rückgabe eines Objekts?

Gibt es einen Unterschied in der Funktionsweise dieser Funktionen? Die erste ist eher typisch für das, woran ich denke, wenn ich an einen Konstruktor denke.

Beispiel 1: Verwenden vonDie, um Eigenschaften zu benennen und festzulegen. Verwenden Sie dann new, um ein neues Book-Objekt zu erstellen.

    function Book(name, numPages) {
        this.name = name;
        this.numPages = numPages;
    }

    var myBook = new Book('A Good Book', '500 pages');

Beispiel 2: Zurückgeben eines Objekts mitNe und rufe einfach die Funktion selbst auf.

    function Movie(name, numMinutes) {
        return { name:name, numMinutes:numMinutes };
    }

    var best = new Movie('Forrest Gump', '150');

    var other = Movie('Gladiator', '180');

Ich denke, ich versuche herauszufinden, ob diese sich in der Art und Weise, wie sie ein Objekt erzeugen, unterscheiden. Wenn ja, ist einer besser als der andere? Gibt es verschiedene Situationen, in denen das eine besser als das andere funktioniert?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage