2016-05-26 17 views
0

Ich möchte eine Dienstprogrammklasse schreiben, die mehrere Methoden enthält, die in meinem Code verwendet werden.Wie Scoping für Dienstprogramm Methode in Javascript erstellen?

sagen Util.sayHi("Maxim") // Hi Maxim aber ich möchte versuchen, zu vermeiden, den globalen Geltungsbereich zu ziehen, und die Möglichkeit, dass jemand meine Methode überschreiben würde.

Ich sehe jQuery hat eine Lösung für dieses Problem https://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/ Wie machen sie das?

Ich arbeite mit React und ES6/ES7-Transformatoren, so dass neue JS-Funktionen akzeptabel sind.

Antwort

0

Nun, da Sie ES6 verwenden, ist die Lösung trivial: Verwenden Sie Module. Sie sind genau dafür gemacht.

// util.js 
export function sayHi(name) { 
    console.log("Hi "+name); 
} 

// somewhereelse.js 
import * as Util from "util.js"; 
Util.sayHi("Maxim"); 

Sie verschmutzen gar nicht globale Reichweite und die Variablen, die Sie exportieren, sind nicht beschreibbar von außerhalb des Moduls.