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

  • Amir Parmar

    Amir Parmar

    25 Kasım 2010
  • TV nEW

    TV nEW

    25 AĞUSTOS 2012
  • videoisunrelated

    videoisunrel

    5 Mart 2009