Вызов метода объекта.
Здравствуйте.
Подскажите пожалуйста. Есть код: function Foo() { return 1 + 1; } var foo = new Foo(); Вопрос: нужно сделать так, чтоб при вызове foo вызывался не сам объект, а именно его метод, то есть результат был 2. |
:-? new убрать
|
нет, можно менять только код конструктора.
|
Конструктор возвращает объекты, это же так объектно-ориентированно (если понимаешь о чем я).
alert(new Two + new Two); function Two() { return new Number(1 + 1); } |
там нет ни конструкторов, ни объектов с методами которые могут вернуть 2, Foo это просто функция. если надо 2, то просто без new:
function Foo() { return 1 + 1; } var foo = Foo; alert( foo() ); если нужен конструктор c методом, то как-то так, например: function Foo() { this.two = function () { return 1 + 1 }; } var foo =new Foo(); alert( foo.two() ); |
pikko, смотри предыдущий ответ. Я думаю автор это и просил. А разгадка проста - конструктор может вернуть только объект. Примитивы игнорируются.
|
Часовой пояс GMT +3, время: 15:56. |