Классы в JavaScript можно создавать очень по разному, потому что родной контрукции class не существует. function SimpleClass(ix,iy) { // Свойства this.x = ix this.y = iy this.z = 0 // Методы this.setXY = SimpleClass_setXY; } function SimpleClass_setXY(ix,iy) { this.x = ix this.y = iy } var obj = new SimpleClass(2,3); Еще один вариант - через прототипы: function NewClass() { } // Свойство NewClass.prototype.x = 0; // Метод NewClass.prototype.getX = function() { return this.x; } var obj = new NewClass(); alert( obj.getX() ); И еще один вариант - наиболее близкий к привычному пониманию классов: // Конструктор function GeneratorClass() { // Свойство this.x = 1; // Метод this.generate = function(n) { var s = this.x; this.x += n; return s; } } var obj = new GeneratorClass(); alert( obj.generate() ); Можно также сделать именованный конструктор: var SimpleClass = function() { this.x = 0; this.setX = function(i) { this.x = i; } this.getX = function() { return this.x; } } var obj = new SimpleClass(); Существует также экзотическая возможность делать экземпляры классов без самих классов, т.е. формировать какие-либо штучные объекты: var obj = { 'x' : 0, 'getX' : function() { return this.x; } 'setX' : function(i) { this.x = i; } };
JavaScript Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor