HOISTING console.log(b); var b = 100; console.log(b); undefined 100 function hoist() { console.log( a,b ); a = 20; var b = 100; console.log( a,b ); } hoist(); console.log(a); console.log( window.a ); console.log(b) Error FUNCTION function myfun ( a,b ) { console.log("hi"); if(a==10) { return a-b; } console.log( a + b ); return a+b ; console.log("hello"); } a1 = myfun (10,20); console.log( a1 ); b1 = myfun (20,10); console.log( b1 ); a1 : hi -10 b1: hi 30 30 var m1 = 10; m1 = 20; function f1(m1) { if(m1 == 10) { m1 = 20; return 30; } if(m1 == 11) { return; } return 30; console.log(m1); } m1 = f1(10); console.log(m1); m1 = f1(11); console.log(m1); m1 = f1(20); console.log(m1); 30 undefined 30