In applications developed prior to cloud computing, JavaScript used client-side interpretation.
 JavaScript calls a function associated with each new message, creating a call stack frame with the function's arguments and local variables
 One partial exception is scoping: originally JavaScript only had function scoping with var; block scoping was added in ECMAScript 2015 with the keywords let and const

