javascript — лучшие практики для статических методов и переменных с классами MooTools

1. Как свойство объекта

 var Person = new Class({ // Instance Variables name: '', age: 0, // Constructor initialize: function(name, age) { this.name = name; this.age = age; }, // Instance Methods log: function() { console.log(this.name   ', '   this.age); } }); // Static Property Person.count: 0; // Static Methods Person.addPerson: function() { this.count  = 1; }; Person.getCount: function() { console.log('Person count : '   this.count); }; 

2. Использование extend ()

 var Person = new Class({ // Instance Variables name: '', age: 0, // Constructor initialize: function(name, age) { this.name = name; this.age = age; }, // Instance Methods log: function() { console.log(this.name   ', '   this.age); } }); Person.extend({ // Static Property count: 0, // Static Methods addPerson: function() { this.count  = 1; }, getCount: function() { console.log('Person count : '   this.count); } }); 

3. Добавление нового мутатора в Class.Mutators

 // This will create a shortcut for `extend()`. Class.Mutators.Static = function(members) { this.extend(members); }; var Person = new Class({ Static: { // Static Property count: 0, // Static Method addPerson: function() { this.count  = 1; }, getCount: function() { console.log('Person count : '   this.count); } }, // Instance Variables name: '', age: 0, // Constructor initialize: function(name, age) { this.name = name; this.age = age; }, // Instance Methods log: function() { console.log(this.name   ', '   this.age); } }); 

Пример использования статических методов.

 // Creating a new Person instance var mark = new Person('Mark', 23); mark.log(); // Accessing the static method Person.addPerson(); Person.getCount() // 'Person count: 1' 

Основной курс …

Есть три (3) способа добавить статические методы в класс. Код ниже взят из «Pro JavaScript с MooTools» Марка Обсены.

Я включил еще немного информации, которой не было в ответе Аркабарда.

Appitizer …

Статические методы в JavaScript — это свойства объекта, который ссылается на них. Они не добавляются к прототипу Объекта.

Есть два способа добавить функцию к объекту в JavaScript. Ниже я добавляю методы к воображаемому объекту с именем « MyObject ».

  1. Свойство

     MyObject.staticMethod = new function() {}; MyObject.staticMethod(); // Call static method. 
  2. метод

     MyObject.prototype.instanceMethod = new function() {}; new MyObject().instanceMethod(); // Call instance method. 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector