2016-07-27 7 views
1

Bei der Implementierung von Funktionen über Verkettungsmuster ist es nicht ratsam, "dieses" Objekt zurückzugeben, wenn Ihre Funktion von externen Quellen (nicht vertrauenswürdigen Quellen) verwendet wird. Stattdessen sollte man das Äquivalent von "this" wie im folgenden Code zurückgeben.Javascript Verkettungsmuster Rückgabewert dieses Objekts, anstatt dieses zurückzugeben

var calc = function (start){ 
     var that = this; 
     this.add = function(x){ 
     start = start + x; 
     return that; 
     }; 

     this.multiply= function(x){ 
      start = start * x; 
      return that; 
     }; 
    }; 

Wie macht die Rückgabe "dieser" statt "dieser" einen Unterschied, da beide von derselben Referenz sind.

+0

Ja. Diese Beratung macht keinen Sinn. Er denkt wahrscheinlich daran, die Referenz zu verlieren, aber das ist kein Problem in diesem Anwendungsfall. – slebetman

+0

Wo haben Sie diesen Rat gelesen? – Barmar

+0

kam in einer Pluralansicht Vedio auf Javascript Design-Patterns von Aaron Powell. – Deathcr47

Antwort

Verwandte Themen