I've got to learn javascript in order to read the MooTools sources :-) Some first steps.
The MooTools sources are minimized, but not obfuscated. Googling for "reformat JavaScript" took me to: http://jsbeautifier.org/ I imported the result into Leo. The importer needs more than a tad of work, but I was impatient, so I reformatted by hand. Semicolons confused me, so I googled "javascript semicolon".: http://mislav.uniqpath.com/2010/05/semicolons/ So now some confusion has been eliminated. >From within the above article, I found a link to "the module pattern", http://www.yuiblog.com/blog/2007/06/12/module-pattern/ Here is an important excerpt: QQQ 2. Assign the return value of an anonymous function to your namespace object: YAHOO.myProject.myModule = function () { return { myPublicProperty: "I'm accessible as YAHOO.myProject.myModule.myPublicProperty.", myPublicMethod: function () { YAHOO.log("I'm accessible as YAHOO.myProject.myModule.myPublicMethod."); } }; }(); // the parens here cause the anonymous function to execute and return Note the very last line with the closing curly brace and then the parentheses (). This notation causes the anonymous function to execute immediately, returning the object containing myPublicProperty and myPublicMethod. As soon as the anonymous function returns, that returned object is addressable as YAHOO.myProject.myModule. QQQ Ah. Now I understand why the function can have no name, what similar code is doing, and why it *might* be a good idea to end the last line with a semicolon ;-) I'm still amazed that anyone can write software with a language like this, but now I have an inkling about how it might happen. Edward -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en.
