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

  • AllYourNewsByMe

    AllYourNewsB

    18 Temmuz 2011
  • Moto Journal

    Moto Journal

    28 Mayıs 2007
  • TheRightTire

    TheRightTire

    14 EKİM 2009