JavaScript'in tüm çılgın esneklik değerleri vardır. Bundan yararlanmaya karar verdim ve ilk görüşmede kendini bir işleve değiştirdim. Bu yapmak için kötü bir şey mi?Bir işlevden çağrılması gereken değişken referansı değiştirmek yanlış mıydı?
(function(){
var nextAfter = function(){};
Something.prototype.next = function(){
//do pre-start actions.
this.next = nextAfter;
};
})();
Bu fonksiyon, bir ana döngünün içine denir, bu yüzden birçok kez çağrılan, ancak örnek kere kullanacağımız için her zaman "sözde" dir: Bu gibi çalışır.
"Potansiyel güvenlik tehdidi"? – undefined
Bu işlev kendini değiştirmiyor. 'Bir şey' prototipinin hala bir 'next() işlevi vardır, ancak çağrıldığında, bir 'next()' öğesini doğrudan' Something''in bir örneği olan nesnede tanımlar. – nnnnnn
@nnnnnn Bunu asla yakalayamazdım! Bunun hakkında bir şey söylediğine sevindim. Bu noktada sanırım istediğim farklıdır, örneğin: Bir işleve sahip olmak, çağrıldığı değişkenin referansını değiştirir. – Andrew