JavaScript是解释性语言:解释一行,执行一行。
JS运行三部曲:
词法分析:
虽然JS是解释一行执行一行,但在解释执行之前会首先通篇扫描一遍查看有没有低级语法错误。
预编译:
发生在代码执行的前一刻。
解释执行:
开始执行代码,解释一行执行一行。
预编译初识:
var a = 123;
console.log(a);
//控制台打印123;
console.log(a);
var a = 123;
//控制台打印undefined;
console.log(a);
//报错!Uncaught ReferenceError: a is not defined!(因变量a没定义)
这