summaryrefslogtreecommitdiffstats
path: root/samples/weird_function.js
diff options
context:
space:
mode:
Diffstat (limited to 'samples/weird_function.js')
-rw-r--r--samples/weird_function.js31
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);
+