Вопрос, наверное, по контекстам
Вот пишу такой код:
a = function() { this.show = function() { alert(222); } return this; }() b = function() { this.show = function() { alert(111); } this.letSee = function() { a.show(); } return this; }() b.letSee(); Вызов b.letSee() дает вызов алерт 111, т.е. ф-ии show() у объекта b, хотя я явно указываю, что нужен объект a. Почему? |
Потеряли ключевое словое new перед вызовами конструкторов. В итоге вы просто исполнили функции, при этом this в обоих случаях указывает на window. То есть вы определили метод window.show - можете это сами проверить.
|
Причем return this - необязательно делать, конструктор вернет this и без этого.
|
Т.е. надо было так:
a = new function() { b = new function() { Понятно, спасибо. |
Часовой пояс GMT +3, время: 05:38. |