JavaScript DOs and DONTs

 

1.     Use Shortcut Notations:

 

This code [Avoid]

Is the same as [Use Instead]

 

var lunch = new Array();

lunch[0]=’Dosa’;

lunch[1]=’Roti’;

lunch[2]=’Rice’;

lunch[3]=’what the heck is this?’;

var lunch = [

   ‘Dosa’,

   ‘Roti’,

   ‘Rice’,

   ‘what the heck is this?’

];

 

if(v){

   var x = v;

} else {

   var x =10;

}

var x = v || 10;

 

var direction;

if(x > 100){

   direction = 1;

} else {

   direction = -1;

}

var direction = (x > 100)
? 1 : –1;

 2.     Avoid Globals:

Reason: You run the danger of your code being overwritten by
any other JavaScript added to the page after yours.

Workaround: use closures and the module pattern.

Problem: all variables are global and can be accessed; access
is not contained, anything in the page can overwrite what you do.

var current = null;var labels = {   ‘home’:‘home’,   ‘articles’:‘articles’,   ‘contact’:‘contact’      };function init(){};function show(){   current = 1;};function hide(){   show();};

Object Literal: Everything is contained
but can be accessed via the object name

 

Problem: Repetition of module name leads to huge code and is
annoying.

demo = {

   current:null,

   labels:{


‘home’:’home’,


‘articles’:’articles’,


‘contact’:’contact’

   },

   init:function(){

   },

   show:function(){


demo.current = 1;

   },

   hide:function(){


demo.show();

   }

}

 

Module Pattern: You need to specify what is global and what isnt –
switching syntax in between.

Problem: Repetition of module name, different syntax for
inner functions.

module = function(){

   var labels = {


‘home’:’home’,


‘articles’:’articles’,

      ‘contact’:’contact’

   };

   return {


current:null,


init:function(){

      },


show:function(){


module.current = 1;

      },


hide:function(){


module.show();

      }

   }

}();

 

Revealing
Module Pattern: Keep consistent syntax and mix and match what to make global
.

module = function(){   var current = null;   var labels = {      ‘home’:‘home’,      ‘articles’:‘articles’,      ‘contact’:‘contact’   };   var init = function(){   };   var show = function(){      current = 1;   };   var hide = function(){      show();   }   return{init:init, show:show, current:current}}();module.init();

Give some Likes to Authors

whatsq

Support whatsq.com, help community and write on social network.