SORU
30 Temmuz 2011, CUMARTESİ


JavaScript kılma yöntemi

Hadi aşağıdaki kodu var:

function A() {
    function modify(){
       x = 300;
       y = 400;
    }
    var c = new C();
}

function B() {
    function modify(){
       x = 3000;
       y = 4000;
    }
    var c = new C();
}


C = function () {
   var x = 10;
   var y = 20;

   function modify() {
      x = 30;
      y = 40;
   };

   modify();
   alert("The sum is: "   (x y));
}

Şimdi asıl soru, Eğer herhangi bir şekilde wich ben geçersiz kılma yöntemi modify C ile yöntemleri içinde A ve B Java kullanırsınız süper kelime, ama nasıl sana ulaşmak gibi bir şey bu JavaScript?

CEVAP
30 Temmuz 2011, CUMARTESİ


JavaScript miras biraz Java dan farklı görünüyor. Yerel JavaScript nesne sistemi nasıl göründüğünü burada

// Create a class
function Vehicle(color){
  this.color = color;
}

// Add an instance method
Vehicle.prototype.go = function(){
  return "Underway in "   this.color;
}

// Add a second class
function Car(color){
  this.color = color;
}

// And declare it is a subclass of the first
Car.prototype = new Vehicle();

// Override the instance method
Car.prototype.go = function(){
  return Vehicle.prototype.go.call(this)   " car"
}

// Create some instances and see the overridden behavior.
var v = new Vehicle("blue");
v.go() // "Underway in blue"

var c = new Car("red");
c.go() // "Underway in red car"

Ne yazık ki bu biraz çirkin ve çok güzel bir yol yoktur"": üst sınıflar el ile belirtmeniz gerekir' yöntem aramak istediğiniz. süper Sonuç olarak, sınıflar daha iyi iletişim kurmak için çeşitli araçlar vardır. Prototype.js, Backbone.js ya da js OOP yapmak için güzel bir sözdizimi içeren benzer bir kütüphane bakmayı deneyin.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jorrit Jongma

    Jorrit Jongm

    17 Ocak 2008
  • Karan Thakur

    Karan Thakur

    23 HAZİRAN 2010
  • Liberator

    Liberator

    14 EYLÜL 2007