Drei verschiedene Arten der Verwendung von Javascript-Funktionen, aber ich kenne die Vor- und Nachteile dafür nicht. Könnte jemand die Unterschiede erklären?

Ich habe drei Möglichkeiten, eine Funktion zu erstellen und zurückzugeben. (Vielleicht gibt es noch mehr?), Aber ich kenne den Unterschied zwischen ihnen nicht und wann ich welche verwenden soll. Könnte jemand bitte erklären.

var test1 = function() {
    var funk1 = function() {
        console.log(1);
    }
    var funk2 = function(msg) {
        console.log(msg);
    }
    return {
        funk1: funk1,
        funk2: funk2
    }
};

var test2 = function() {
    this.funk1 = function() {
        console.log(1);
    }
    this.funk2 = function(msg) {
        console.log(msg);
    }
};

var someThing = test1();
someThing.funk1();
someThing.funk2(2);

var someThing = new test1();
someThing.funk1();
someThing.funk2(2);

var thingElse = new test2();
thingElse.funk1();
thingElse.funk2(2);

Antworten auf die Frage(2)

Ihre Antwort auf die Frage