fix methods properties
Sometimes it is very useful to set a flag to function - for example, for auto-wrap it in $.memoize in constructor.
Anybody?..
А можешь привести конкретный пример использования этого вместе с $.memoize?
Пример ниже pseudo code:
class A {
doSmth: $.memoize(function (a) { return this.b + a; });
}
Может вызвать ошибку, так как функция находится в прототипе и запоминаться ответы будут для всех инстансов. На всякий случай - jsfiddle. Можно избежать проблемы, обернув в $.memoize в конструкторе. Чтобы с этим не замарачиваться, удобно ставить функции флаг, например, так:
$._memoize = function (fn) {fn.memoizable = true; return fn;};
$._memoize(function (a) { return this.b + a;});
В конструкторе проходить по методам, смотреть у них наличие флага и, например, оборачивать в $.memoize. В наследниках класса, соответственно, дублировать не придется, можно будет любые функции помечать флагами.
Это только один из примеров. Вообще - можно придумать кучу разных примеров, для чего в свойства метода может понадобиться что-то сохранить.