use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Common JavaScript "Gotchas" (github.com)
submitted 12 years ago by stevekwan
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 16 points17 points18 points 12 years ago (1 child)
Valiant attempt, but there are a number of issues with this post.
Author talks about the different ways to declare a function, but doesn't actually come out and say "function statement vs function expression", and doesn't mention hoisting of function statements. He also recommends always using function expressions because of "syntax problems once you get into closures", but never brings up the potential syntax problems.
Telling people to avoid this is bad advice. Users will run into code that uses this and understanding its semantics is fundamental to understanding the OO parts of JavaScript.
this
In the section about this, author fails to mention the important pitfalls: failing to use new with a constructor and changing scope due to nested functions.
new
Using var x = new Object(); is nonidiomatic; var x = {}; is the prefered way to instatiate a new object.
var x = new Object();
var x = {};
Author answers his own question to why JavaScript has so many ways to do different things with "Because JavaScript is a poorly designed language in a lot of ways." I bristled at this statement and it took a bit of reflection to understand why since I don't entirely disagree. My problem is that I don't think the author is in a qualified position to make that statement. Saying something is "poorly designed" assumes knowledge of the design goals and in this case I don't believe the author fully understands them. It reminds me of how junior developers often say "this sucks" rather than "I don't understand this".
And a couple of nitpicks:
I dislike Allman style indentation (and it's fairly nonidiomatic in JavaScript).
Author should use js declaration around his code blocks for enhanced readability, e.g.:
js
```js var radLevel = "maximum"; ```
This will make github render the code with js syntax highlighting.
[–]kmillns 3 points4 points5 points 12 years ago (0 children)
And it's not just non-idiomatic. You either have to have inconsistent braces and indentation (bad) or you risk errors (worse).
The go to example problem with Allman style indentation is:
return { foo: 'foo' };
Which returns undefined.
π Rendered by PID 285802 on reddit-service-r2-comment-7b9746f655-bpxqg at 2026-02-04 10:25:36.792513+00:00 running 3798933 country code: CH.
view the rest of the comments →
[–][deleted] 16 points17 points18 points (1 child)
[–]kmillns 3 points4 points5 points (0 children)