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

  • DeAdPiXel6667

    DeAdPiXel666

    2 Ocak 2010
  • hans peder sahl

    hans peder s

    22 Temmuz 2009
  • UCBerkeley

    UCBerkeley

    3 Mayıs 2006