Неправильно создается метод объекта

  • Автор темы Автор темы jip
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

jip

Участник
Топикстартер
Сообщения
13
Реакции
0
В каталог скриптов кладу два файла:

test_1.js (задает класс obj)
Код:
//method
function func(){
  this.i++;
}

//constructor
function obj(){
  this.i = 0;
  this.func = func;
}
и test_0.js (главный файл)
Код:
//@include 'test_1.js';

var x = new obj();
alert(x.func);
Затем запускаю test_0.js и вижу, что телом метода x.func является текст файла test_0.js, а не функция func ?!? Иногда первые символы файла test_0.js обрезаются.

Как такое может быть?
 
Ответ: Неправильно создается метод объекта

jip сказал(а):
В каталог скриптов кладу два файла:

test_1.js (задает класс obj)
Код:
//method
function func(){
  this.i++;
}

//constructor
function obj(){
  this.i = 0;
  this.func = func;
}
и test_0.js (главный файл)
Код:
//@include 'test_1.js';

var x = new obj();
alert(x.func);
Затем запускаю test_0.js и вижу, что телом метода x.func является текст файла test_0.js, а не функция func ?!? Иногда первые символы файла test_0.js обрезаются.

Как такое может быть?

Очень просто. Объявление метода нужно делать не так, а вот как:

PHP:
function func() {
   this.i++;
}
obj.prototype.func = func;
 
Статус
Закрыто для дальнейших ответов.