Javascript With New Or Not
I have the following function var myInstance = (function() { var privateVar = 'Test'; function privateMethod () { // ... } return { // public interface publicMe
Solution 1:
While the end result seems identical, how it got there and what it executed in is different.
The first version executes the anonymous function with this
being in the context of the window
object. The second version executes the anonymous function, but this
is in the context of a new empty object.
In the end, they both return another object(your Singleton). It's just a slight difference in execution context.
To test this out, but an alert(this);
right before the declaration of the privateVar
variable.
@Tom Squires: That's not necessarily true and is poor practice not to declare your variables. A script with the "use strict";
directive does cause the JS engine to complain (assuming that the engine supports "use strict"
;
Post a Comment for "Javascript With New Or Not"