In the function above, we have not declared the variables teacher and topic, still we assigned them values. When we call this function, this changes the value of the "teacher" variable present in the global , while the topic will be declared as a new variable in the global scope, hence the output of the last line will be "React".
clear from the name...
just skim through the above two articles starting paragrpahs.
The first function above is an example of anonymous function expression while the second is a named function expression.
These are used in places of our code where we need to collect a set of variables and protect them from encroaching upon an outer scope. These are not used nowadays, instead block scoping is used(with let).
In the below example, the variable
temp will be available only inside the
var are good, when you want to define a variable at a function level. (as the scope of var is global or the function in which it is defined).