Hacker News new | ask | show | jobs
by joestelmach 5166 days ago
Many would frown upon polluting the global name space with functions corresponding to all known HTML tags.
1 comments

If you end up wrapping your code in an immediately called lambda anyhow I'm sure it would be fine.
Sort of, but there are some tags you probably don't want to pollute your own top-level namespace with, like a, b, i, object, p, q, and s. There's at least one tag (var) which is not allowed as an identifier on its own.
I think 'a' and 'p' are the only ones among those you'd actually want. I could probably live with with those limitations.
Now that I think about it, that might break a few sortFunction(a,b) {//do stuff with a and b} type functions of mine...
No, it won't break them; it will just make them confusing to read. The scope of the function arguments would be more local, so they would hide the declarations further up the scope chain.

What's more of a problem is if you have something like this: https://gist.github.com/2499913

The problem is that the "var p" in the for loop will be hoisted to the top of the scope, and so when you call p() in the first line, it will actually be undefined.

You could use with(){} in js so you don't have to pollute your global namespace and still have pretty code.
Hardly seems worth it to invoke that confusing construct when you could just pack them in an object with a short name instead.