JavaScript中的“严格模式”

Javascript具有隐式全局变量。 这意味着,即使您忘记使用var声明变量,当用户尝试访问该未声明的变量时,Javascript也会将其视为全局变量并进行声明。

这是一个例子。

  num = 4; 
console.log(num); // => 4

我们没有声明变量num 。 但是将一些值分配给num不会产生任何错误。

显然,这可能会引起很多问题。 这就是为什么ES5采用严格模式 。 它不允许该隐式global

如果要使用严格模式,则只需插入'use strict'; 在代码的顶部。

  '使用严格'; num = 4;  // => ReferenceError 
console.log(num);

如果您插入'use strict'; 在全局范围脚本文件的顶部,所有脚本都将处于严格模式。 而且,如果将其插入到函数的顶部,则只有该函数将处于严格模式。