SORU
2 Ocak 2011, Pazar


Javascript: Fonksiyon Uzatmak

Bunu istememin asıl nedeni başlatma fonksiyonu uzatmak istiyorum.

Şöyle bir şey:

// main.js

window.onload = init();
function init(){
     doSomething();
}

// extend.js

function extends init(){
    doSomethingHereToo();
}

PHP bir sınıf uzatmak gibi bir işlevi genişletmek istiyorum.

Ve diğer dosyaları da uzatmak istiyorum, örneğin main.js extended.js genişletilmiş işlev özgün başlatma fonksiyonu var.

CEVAP
2 Ocak 2011, Pazar


Eğer sadece işlevi de çalıştırmak istiyorsanız bu konuda, amacınızın ne olduğuna bağlı, gitmek için çeşitli yollar vardır ve aynı bağlamda, .apply() kullanabilirsiniz:

function init(){
  doSomething();
}
function myFunc(){
  init.apply(this, arguments);
  doSomethingHereToo();
}

Eğer bir daha yeni init ile değiştirmek istiyorsanız, bu gibi görünür:

function init(){
  doSomething();
}
//anytime later
var old_init = init;
init = function() {
  old_init.apply(this, arguments);
  doSomethingHereToo();
};

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FF Radio

    FF Radio

    16 Mayıs 2008
  • disneychannel

    disneychanne

    19 ŞUBAT 2006
  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009