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

  • kev5124

    kev5124

    9 Kasım 2008
  • Marissah Simonini

    Marissah Sim

    25 HAZİRAN 2013
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011