Hack-Reactor part 3: Scope

part 3: Scope -lexical scope -memory scope (closure) -

by ndw5015

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

JavaScript

$( document ).ready(function() {
/* 	var func = function(){
	    var local = true;
	  }
	  
	  console.log(local); //local is not defined */
  
 /*  var globalScope = 'hello there';
  
  var func = function(){
    console.log(globalScope);
    globalScope = 'hello in here';
    console.log(globalScope);
  }
  
  func(); */
  
  //second example
  //child parent scope
 /*  var x = 10;
  var outerFunc = function(){
    var innerFunc = function(){
      var y = 15;
      console.log(x);
    }
    innerFunc();
    console.log(y);
  }
  
  outerFunc(); */
  
  //third example
  //presedence
  var g = 'global';
  
  function go(){
  	var l = 'local';
    var g = 'in here';
    //console.log(g + 'inside go');
  }
  go();
  
  //console.log(g + 'inside go');
  
  //example four
  //block scope
  var inBlock = true;
  
  for(var i=0; i<5; i++){
  	var inBlock = false;//do not do
  }
  
  //console.log('block scope exists:', inBlock);
  
  //ES6
  var inBlock2 = true;
  
  for(var x=0; x<5; x++){
  	let inBlock2 = false;//do not do resign
  }
  
  console.log('block scope exists:', inBlock2);
  
});