Agreed, the best advice I can give is to learn core programming concepts (and if possible, computer science concepts) first, in a good language which elucidates them without getting in the way. Lisp is one, Python may be even better, Ruby wouldn't be bad.
Then take on Javascript, since it has some complex ideas and constructs.
Also "the way block scoping works/doesn't work" in JavaScript is weird, but it has closures and first-class functions, which are way cool and sort of make up for it. Coffeescript makes using these easy, thank goodness (these are the kinds of concepts I wouldn't want to deal with when learning how to program for the first time).
Then take on Javascript, since it has some complex ideas and constructs.
Also "the way block scoping works/doesn't work" in JavaScript is weird, but it has closures and first-class functions, which are way cool and sort of make up for it. Coffeescript makes using these easy, thank goodness (these are the kinds of concepts I wouldn't want to deal with when learning how to program for the first time).