// There are several definitions// Non-anonymous, you name itfunctionhello(){/* code */}// Call as usualhello()// The myriad of anonymous functions// This is actually anonymous// It is simply stored in a variablevarhello=function(){/* code */}// It is called the same wayhello()// You will usually find them as callbackssetTimeout(function(){/* code */},1000)// jQuery$('.some-element').each(function(index){/* code */})// Or a self firing-closue(function(){/* code */})()
/*
Anonymous function = a function that doesn't need a name, you only need it for the
purpose of a single callback
*/// e.g.const arr =[1,2,3,4]
arr.map(functionsquare(num){return num *2})// the 'square' function is only used within .map here. So it can be treated as an // anonymous function. Short hand for an anonymous function can look like this:
arr.map(function(num){return num *2})// Or using arrow notation it can look like this:
arr.map((num)=>{return num *2})
//Anonymous function; It's not assigned to an indentifierArray.forEach((arguments)=>{//This is an anonymous function})functionforEach(arguments){//This is NOT an anonymous function}
//! Button Click Event//! regular functiondocument.querySelector("button").addEventListener('click', handlClick);functionhandlClick(){alert("I got clicked!")//just to show it works//what to do when click detected}//!anonymous functiondocument.querySelector("button").addEventListener('click',functionhandlClick(){alert("I got clicked!")//just to show it works//what to do when click detected});