Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Josh what really bamboozles me about your code is this..the console function returns an object, yet at no time is the text being forwarded to the function ie. var console = function(text) { ... } so when you say console.log("information...") how is function getting the string??

cheers PK



You're mostly right.

The console var is assigned the result of an immediately-invoked anonymous function (http://benalman.com/news/2010/11/immediately-invoked-functio...).

The result of this function is an object which contains the console functions (log, warn, error, etc). Moreover, these functions only exist inside the scope of the anonymous function, so the only way to access them is through the returned object. This prevents the global namespace from being polluted.

So when you call console.log('hello'), you're applying one of those functions in the object returned by the anonymous function.


Wow! Once more many thanks for your time and effort. It is much appreciated. You are a Javascript GOD :-)

Cheers PK




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: