JSFiddle - React, Tailwind, and code Playground

by guyluchenbill

JavaScript

function sayHello2(name) {  // function accepts "name" param
    
  var text = 'Hello ' + name; // local variable
    
  var sayAlert = function() { // local function
      console.log(text); 
  }
      
  return sayAlert; //return to global    
}

    
sayHello2('jane'); 

var say2 = sayHello2('Jane'); // call the function
say2(); // display the result
    
// how does this work? I know say2 is calling sayHello2() function and 
// "jane" is being passed into this function. 
// however simplay invoking the first function with 
// sayHello2('jane'); does not work... wtf :( 
// not only this but "return sayAlert" will return the 
// "reference" to the sayAlert() function to global scope? 



var count = function () { 
    var current = 0; 
    return function () { 
        return current++ 
    } 
}(); 
console.log([count, count(), count(), count(),count()]);