Wie Sie erwähnt haben, die folgenden drei Möglichkeiten:
Verwenden Getter/Setter
Wie Sie vielleicht wissen, get/set einen Zustand des Objekts wird, ist, dass mehrere mal abgerufen (allgemein) während der Lebensdauer des Objekts. Wenn Sie also ein Szenario wie "CrucialMethod1" bis "CrucialMethodN" verwenden, kann dieser Status verwendet werden. Zusätzlich wird dies auch dazu beitragen, den Zustand extern freizulegen.
Verwenden als Parameter
Im Allgemeinen wird ein Parameter an den Konstruktor wird ‚diktieren‘ den Zustand, in welcher das Objekt Konstruktor initialisiert. Wenn Sie also ein Szenario haben, in dem die "CrucialMethod" -Methode aufgerufen werden kann oder nicht, wäre dies nicht angemessen.
Verwendung als Parameter an die Methode
Dies würde in dem Szenario, nützlich sein, wenn die ‚CrucialMethod‘ wirkt/Transformationen (ab) auf den Parametern übergeben. Dies erleichtert den Aufruf der Methode ohne Abhängigkeit vom Zustand des Parameters.
Ihr Anruf!
Dies ist das erste, was mir bei der Adressierung von Parameter vs Eigenschaft in js Kodierung Sinn machte. Ich denke, dass ich Eigenschaften verwende, um diese Daten (die möglicherweise jede Ausführung dieses Codes ändern (oder es ist ein SPA)) für mich verfügbar zu machen, innerhalb meines Elternobjekts. Ich bin müde von passig um Parameter, und sie sind leicht fubar'd, wenn Sie sie um Reihenfolge weise bewegen, und wenn Sie eine von ihnen verschieben/umbenennen, müssen Sie zu jeder abhängigen Funktion gehen und Anpassungen vornehmen. Ich mag diesen Teil nicht. Also, wenn ich das mit dem, was du gerade gesagt hast, kombinierst, denke ich, dass ich Eigenschaften verweise. Frage ist jetzt, wann brauche ich PARMETER? – blamb
Übrigens, ich benutze noch keine Getter und Setter, ich verwalte nur meine Eigenschaften mit den Methoden, die sie herumreichen. Ist das schlecht? z.B. 'var App; (function (irShare, $, undefined) { "use strict"; app.irShare.toggleFormForFilterHasToggled = false; \t \t app.irShare.toggleFormForFilter = function() {// ein paar Sachen hier tun, dann Flagge unser Eigentum app.irShare.toggleFormForFilterHasToggled = true;} ; \t } (window.app.irShare = window.app.irShare || {}, jQuery)); ' – blamb