JavaScript: Constructor Auto-Execution with new Keyword
JavaScript is full of small, interesting facets that can trip you up, make you laugh, or make you cry. This post is about an interesting one. Those of you that have worked with JavaScript functions, and in a way JavaScript "classes" (as you used with MooTools), you're well acquainted with the new keyword. With the new keyword you get the ability to pass arguments with the function call, but did you know that if you have no arguments, you don't need the parens at all?
function MyClass() {
console.log('Initialized!');
//Set a property, as an example
this.dirty = true;
}
var instance = new MyClass;
// >> "Initialized!''
So why am I telling you this? I have no idea. It's just one of those fun tidbits that you can add to your brain. :)
![CSS Gradients]()
With CSS border-radius, I showed you how CSS can bridge the gap between design and development by adding rounded corners to elements. CSS gradients are another step in that direction. Now that CSS gradients are supported in Internet Explorer 8+, Firefox, Safari, and Chrome...
![Facebook Open Graph META Tags]()
It's no secret that Facebook has become a major traffic driver for all types of websites. Nowadays even large corporations steer consumers toward their Facebook pages instead of the corporate websites directly. And of course there are Facebook "Like" and "Recommend" widgets on every website. One...
![Send Email Notifications for Broken Images Using jQuery AJAX]()
It's usually best to repair broken image paths as soon as possible because they can damage a website's credibility. And even worse is having a user tell you about it. Using jQuery and PHP, you can have your page automatically notify you of broken...
![Create Classy Inputs Using MooTools’ OverText]()
The MooTools More library is a goldmine. A treasure chest. Pirates booty, if you will (and, of course, I will). More is full of plugins that add a lot of class and functionality to your website with minimal effort.
Amazing how the obvious is sometimes hidden in plain sight. I was going to save the extra () characters but it looks like there’s a micro performance hit in V8.
http://jsperf.com/new-with-and-without-parens
Really? That’s ironic, since Google Closure Compiler actually removes the parentheses when they can be omitted.
That was something I always was curious about but never bothered to ask/look up. I assume the same thing also occurs in php?
I’ll file this next to optional semi-colons and optional closing tags in HTML5: things that are interesting to know, but if I ever see while reviewing someone’s code I might get stabby.