Retrieve class from javascript self-invoking function -


i have function:

(function(window, document,undefined) {     'use strict';     function test() {         this.init = function() {             console.log("init");         }     };     return new test; })(window, document); 

i know class test accessible in context. want this:

test.init(); 

if store 1 variable , this:

var t = (function() {...})(); 

and console.log(t) return class itself , then, can retrieve it. don't want method

i wondering, there way retrieve class javascript self invoking functions? how can achieve it, if possible?

here's fiddle i'm working with: http://jsfiddle.net/grnagwg8/

regards,

if want make global, within inline-invoked function (it's not self-invoking), assign property on window:

(function(window, document,undefined) {     'use strict';     function test() {         this.init = function() {             console.log("init");         }     };     window.test = new test;  // <==== })(window, document); 

then

test.init(); 

window, in browsers, reference global object. properties of global object global variables.

in general, though, global variables best avoided. if have more 1 of these things, consider using object , putting them on properties, have one global rather many:

var mystuff = (function(window, document,undefined) {     'use strict';     function test() {         this.init = function() {             console.log("init");         }     };     return {             // <====         foo: "bar",      // <====         baz: "nifty",    // <====         test: new test   // <====     };                   // <==== })(window, document); 

then

mystuff.test.init(); 

you might @ "asynchronous module definition" (amd) solutions.


note in above, used test not test instance. overwhelming convention in javascript initially-capped identifiers constructor functions , "namespace" container objects (they're not namespaces, it's common name applied them). instance isn't constructor function, so...


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -