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