summaryrefslogtreecommitdiffstats
path: root/samples
diff options
context:
space:
mode:
authorKyle K <kylek389@gmail.com>2012-07-01 03:11:47 -0500
committerKyle Kaminski <kyle@kkaminsk.com>2012-07-01 03:11:47 -0500
commit8263f26456dbcd7d5871fc5b394d08af8f4f63b4 (patch)
tree7c3bd8f82e707b3c273870001b37bb21258e0811 /samples
parentf052db6b797d7b2f08263ed39ced3c2095c4658d (diff)
downloadfubar-8263f26456dbcd7d5871fc5b394d08af8f4f63b4.tar.gz
fubar-8263f26456dbcd7d5871fc5b394d08af8f4f63b4.tar.bz2
fubar-8263f26456dbcd7d5871fc5b394d08af8f4f63b4.zip
it is really hard to read traces and errors
Diffstat (limited to 'samples')
-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);
+