diff options
Diffstat (limited to 'samples/weird_function.js')
-rw-r--r-- | samples/weird_function.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/samples/weird_function.js b/samples/weird_function.js new file mode 100644 index 0000000..d02d172 --- /dev/null +++ b/samples/weird_function.js @@ -0,0 +1,31 @@ +/* seems like we can assign anonymous function to an IDENTIFIER, without var in + * front of it. the fuck seriously + * + * this way I guess, we have hidden a function, that only identifier points to + */ + +/* the fuck, why does 'var' does then if it's not needed ? + * http://stackoverflow.com/questions/2485423/javascript-is-using-var-to-declare-variables-optional + * + * id with var has local scope, whereas id without var wasn't prev declared, it would + * eventually be attached to global object, outermost scope, if it was declared, then + * we would be just redefining its content, duh! + */ + +p = 12; +console.log(p); + +foo = function(txt) { + this.id = 'foo'; + console.log('hello, ' + txt); +} + +foo.call(foo, 'world'); +console.log('id of foo is: ' + foo.id); + +var bar = foo; /* this is just a reference */ +bar.call(bar, 'world'); +bar.id = 'bar'; +console.log('id of bar is: ' + bar.id); +console.log('id of foo is: ' + foo.id); + |