相信大家都不陌生这行代码吧:
'use strict';//在js最上方添加这行代码,浏览器就会开启严格模式;
它代表
严格模式
;针对
旧版本
的古老浏览器
,它并不认识,会把'use strict';
当做一个字符串语句
执行,建议你尽快升级
你的浏览器;现代浏览器
,都支持strict模式
,一旦它执行到这行代码,就会开启strict模式运行javascript
;strict模式
下运行的JavaScript,强制
使用var
来声明变量,未使用var声明变量就使用的
,将导致ReferenceError
运行错误;javascript在
设计之处
,最致命的的错误就是:不强制要求使用
var来声明变量
,当然当初的设计初衷是为了方便初学者的学习,但在后来的实验中,带来了诸多问题;未使用var声明就使用的变量
,会被自动声明为全局变量
,但是如果在同一页面出现多个同名
的变量时,变量之间就会相互影响,也无法调试;在
严格模式
下,使用var
声明的变量则不是全局变量,它的范围被限制在该变量被声明的函数体内
,同名变量在不同的函数体内互不冲突
;