1.debugger 关键字
debugger 关键字用于停止执行 JavaScript,并调用调试函数。
这个关键字与在调试工具中设置断点的效果是一样的。
如果没有调试可用,debugger 语句将无法工作。
开启 debugger ,代码在第三行前停止执行。
2.变量提升:函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部。
(1)
x =
5; // 变量 x 设置为 5
elem = document.getElementById("demo");
// 查找元素
elem.innerHTML = x; // 在元素中显示 x
var x; // 声明 x
(2)
var x;
// 声明 x
x = 5; // 变量 x 设置为 5
elem = document.getElementById("demo");
// 查找元素
elem.innerHTML = x; // 在元素中显示 x
JavaScript 初始化不会提升
JavaScript 只有声明的变量会提升,初始化的不会。
以下两个实例结果结果不相同:(1)
var x =
5; // 初始化 x
var y = 7;
// 初始化 y
elem = document.getElementById("demo");
// 查找元素
elem.innerHTML = x + " " + y; // 显示 x 和 y
(2)
var x =
5; // 初始化 x
elem = document.getElementById("demo");
// 查找元素
elem.innerHTML = x + " " + y; // 显示 x 和 y
var y = 7;
// 初始化 y
在头部声明你的变量
对于大多数程序员来说并不知道 JavaScript 变量提升。
如果程序员不能很好的理解变量提升,他们写的程序就容易出现一些问题。
为了避免这些问题,通常我们在每个作用域开始前声明这些变量,这也是正常的 JavaScript 解析步骤,易于我们理解。