The Lodge is members-only design/dev videos and Office Hours.

Next Office Hours Session: "Implementing an SVG Icon System" Nov 30 - 6:00 PM Eastern

Namespaced Javascript Template

Last updated on:

Self invoking anonymous function assigned to the yournamespacechoice global variable. Serves the effect of keeping all functions and variables private to this function. To expose a function or variable we must explictly return it at the bottom of the function. Remaps jQuery to $.

var yournamespacechoice = (function ($) {
   var publicfunction;

   function privatefunction() {
       // function only available within parent function

   publicfunction = function publicfunction() {
       // public function available outside of this funtion

   // Expose any functions that we need to access outside of this scope. Use yournamespacechoice.functionName() to call them.
   return {
       publicfunction: publicfunction


  1. mike
    Permalink to comment#

    This type of function statement needs to exist before it is used.

  2. Brennan
    Permalink to comment#

    Shouldn’t you pass though window.jQuery? incase noConflict has been called earlier?

  3. Andy Bell
    Permalink to comment#

    Top marks Chris. I have using Glow as my JS library recently and have been struggling to write plugins without jQuery. Now when I map glow.dom.get to $ as the universal selector and use this namespace method I can make some truly powerful stuff!


Leave a Comment

Posting Code

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in in triple backtick fences like this:

  function example() {
    element.innerHTML = "<div>code</div>";

There's a whole bunch of content on CSS-Tricks.

Search for Stuff   •   Browse the Archives

Get the Newsletter ... or get the RSS feed