Thursday 15 September 2011

javascript - Do double-named methods create side-effects? -



javascript - Do double-named methods create side-effects? -

i ran couple of libraries define methods on objects follows:

var someobject = { mymethod: function mymethod(args){ /* implementation */ } };

can maybe explain me utilize of double naming is? understand difference between function somename(){}; , var somename = function(){};, setup doesn't create whole lot of sense me.

there several reasons this.

if want refer function within function it's improve name utilize arguments.callee (which can't utilize in strict mode)

if console.log function, see name of method instead of anonymous function.

error logging improve named functions, name added stack trace instead of anonymous entry. same goes profiling (cpu / memory)

if assign method object function name stays same, if property name changes.

there no "side effects", see name of function additional "private" var reference function accessible within function , method name "public" property name can alter , utilize access outside.

it's not same name in function declaration

var someobject = { publicname:function privatename(){ someobject.publicname(); // defined privatename(); // defined } }; function test() {} test(); // defined privatename(); // undefined someobject.privatename(); // undefined someobject.publicname(); //is defined

javascript methods function-expression

No comments:

Post a Comment