Edit in JSFiddle

//IIF to have safe code (only exposes to global object certain properties)
(function(global , $) {

	var Greetr = function(firstname, lastname , language){
  	return new Greetr.init(firstname , lastname , language);
  };
    
	Greetr.prototype = {};
    
  Greetr.init = function(firstname, lastname , language){
    
  //Store this in self variable to be sure this is pointing to my object in any place
    var self = this;
    self.firstname = firstname || "Default";
    self.lastname = lastname || "Default";
    self.language = language || "en";
  };
    
  Greetr.init.prototype = Greetr.prototype;

  //Expose your object to global to be used anywhere
  global.Greetr = global.G$ = Greetr;
    
  console.log(global);
    


}(window , jQuery));

//console.log(window);

//What we would like, i don't want to say "new" all the time
var greeting = G$("John" , "Doe");

console.log("jsjsjs",greeting);