SORU
17 Kasım 2008, PAZARTESİ


Ağır basan bir JavaScript aslı başvuru sırasında fonksiyon

(Eğer bir tane varsa bu sorunun cevabı, muhtemelen orada zaten, ama doğru terminoloji eksikliği.)

Geçersiz kılmak istediğim bir fonksiyonu, a(), var, ama aynı zamanda özgün a() sipariş içeriğe bağlı olarak yapılacak. Bazen bir sayfanın getirici ben örneğin, bu gibi geçersiz kılmak isterim:

function a()
{
  new_code();
  original_a();
}

ve bazen böyle:

function a()
{
  original_a();
  other_new_code();
}

Bu nasıl aşırı sürüş a() içinden original_a()? Hatta mümkün mü?

(Lütfen aşırı sürme bu şekilde alternatif teklif etme, çok iyi biliyorum. Bu şekilde özellikle soruyorum.)

CEVAP
17 Kasım 2008, PAZARTESİ


Böyle bir şey yapabilirsin:

var a = (function() {
    var original_a = a;

    if (condition) {
        return function() {
            new_code();
            original_a();
        }
    }
    else {
        return function() {
            original_a();
            other_new_code();
        }
    }
})();

İsimsiz bir işlev içinde original_a ilan genel ad yığılan uzak tutuyor, ama iç fonksiyonları kullanılabilir.

Nermaster yorumlarda da belirtildiği gibi, sonunda () eklemeyi unutmayın. Dış işlev ve çağrı depolamak istediğinizsonuç(iki iç fonksiyonları) a dış deposu a kendini işlevi.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • movies95

    movies95

    27 Kasım 2006
  • SignatureSeries

    SignatureSer

    24 Aralık 2006
  • Tianna Sierra Dance

    Tianna Sierr

    16 EYLÜL 2013