fn
не работает, потому что это не переменная в области видимости. Если был определен window.fn
, или var fn
был определен в другом месте, вы могли бы получить к нему доступ как fn.apply
. Поскольку ни один из них не определен, вам необходимо использовать полный путь к функции на объекте:
ob.fn.apply(...);
Если вы хотите определить fn, вы можете просто установить его:
var ob,
fn;
ob = {
fn:function(){...}
};
fn = ob.fn;
fn.apply(ob, ...);