Цитата:
|
Во втором случае, у Вас FD:
Код:
|
function F (){ /* код функции */; }
this.action1=F ; |
И, хотя, эта функция будет создана при входе в контекст исполнения (до выполнения кода функции), всё равно, функция будет так же создана новая - для каждого объекта своя.
|
Ну я еще могу понять для первого случая с FE, логично: каждый создаваемый объект содержит одельную копию тела метода. Расход памяти , правда, большой.
Но! Как же так получается для второго случая с FD, функция определяется единожды - еще до run-time, но опять каждый объект содержит отдельную копию тела функции ?
Или все же не тела в обоих случаях, а ссылки на одно и тоже тело ?
В чем причина? В ECMA упорно не могу догнать, что написано.
PS
Цитата:
|
Можно вынести F наружу из конструктора.
|
Да, я понимаю это. Но не хочется из-за разрущения инкапсуляции.