
Learning Advanced JavaScript - jonmc12
http://ejohn.org/apps/learn/
======
TheBranca18
This is really informative. Being able to edit the examples like that reminds
me of the W3c site on crack :). It's silly but I think the colors and fonts
have something to do with it.

One thing though, on Chrome (Mac 5.0.342.9 Beta), intermittently I can't click
next to get to the next slide, I get the following error:
/apps/learn/jquery.chili.js:241 Uncaught ReferenceError: $el is not defined.
This does not happen every time.

~~~
darrenkopp
i ran into some points where i would get stuck on a slide, but refreshing
fixed the issue.

------
iamwil
I went through the entire thing before and learned alot. I highly recommend
it.

------
asnyder
Feels very similar to The Little/Seasoned Schemer, I'm sure with a bit more
prose this could be the new equivalent. The hard part is coming up with an
alternative to all the elephants.

~~~
domdefelice
Yeah, I thought about the same book as well :-) I love this kind of tutorials

------
Silhouette
I must be missing something here: all I see are the slide titles, the code
area, and the results underneath. I see no explanatory text anywhere, though
the HTML source for each slide is full of it. :-(

Running Firefox 3.6 on Windows XP if that makes any difference.

~~~
domdefelice
There is NO explanatory text anywhere.. which HTML source have you seen? The
tutorial is really just title, code area and results :-) This is a "learn by
example" tutorial, aimed at who already knows a little javascript.

~~~
ericlavigne
I started this tutorial with zero prior knowledge of Javascript, but I have
still learned a lot from it. I am now 2/3 of the way through. The challenge of
guessing what will work helps to keep me engaged. The extra time that I need
to spend on a slide, compared to someone who already knows a little
Javascript, is probably paid back in extra retention. I love this tutorial and
am excited about adding a little Javascript to my projects.

------
ck2
Never a bad suggestion but it's still a dupe

[http://www.google.com/search?q=site:ycombinator.com+http://e...](http://www.google.com/search?q=site:ycombinator.com+http://ejohn.org/apps/learn/&num=100&filter=0)

------
domdefelice
This is really very nice. Made me learn a lot. It also reminded me of "the
little schemer" :-)

------
simplegeek
Does anybody know of any other such tutorials? Thanks in advance for the help.

~~~
mhansen
I enjoyed Eloquent Javascript. <http://eloquentjavascript.net/>

------
jmtame
i hadn't thought about caching results from a function before. that's pretty
cool.

~~~
mumrah
It's called memoization

------
apphacker
The closure section needs work. My closures never look like that. I have
functions that return functions to create my closures, usually via a library
via dojo.hitch, $.hitch, or goog.bind.

~~~
axod

      window.setTimeout(function(c){return function() {
        c.doSomething();
      }}(this), 1000);
    

Mine usually look like that. Using any library to do that seems like overkill
to me.

~~~
apphacker
Well a hitch or bind function delivers more than just ability to create quick
closures. It lets you define the functionality you want in a named function,
allowing for code re-use and more readable code. Also I'm obviously not using
the library just for bind.

