Source: The JavaScript Call Stack - What it is and why it’s necessary
A “call” is a function invokation
One
Last In, First Out
[FunctionA] [FunctionB] [FuncitonC] [FunctionD]
FunctionA would need to be called first, followed by FunctionB then FunctionC then finally FunctionD
A stack overflow occurs when a function calls itself without an exit point.
Source: JavaScript error messages and debugging
This is when you try to use a variable that is not yet defined
This is when you have something that cannot be parsed in terms of syntax.
This is when an invalid length is used
This is when the types (number, string, etc.) are incompatable or undefined
A breakpoint is a point in the code where the debugger should pause or stop the execution of the program. This lets you see how (or if) the program is running up to that point.
A debugger statement lets you see the history before reaching the breakpoint, to see at which lines a function was called and with what arguments.