JavaScript代码的strict模式
2017-03-20 16:34
393 查看
JavaScript在设计之初,为了方便初学者学习,并不强制要求用
var申明变量。这个设计错误带来了严重的后果:如果一个变量没有通过
var申明就被使用,那么该变量就自动被申明为全局变量:
i = 10; // i现在是全局变量在同一个页面的不同的JavaScript文件中,如果都不用
var申明,恰好都使用了变量
i,将造成变量
i互相影响,产生难以调试的错误结果。使用
var申明的变量则不是全局变量,它的范围被限制在该变量被申明的函数体内(函数的概念将稍后讲解),同名变量在不同的函数体内互不冲突。为了修补JavaScript这一严重设计缺陷,ECMA在后续规范中推出了strict模式,在strict模式下运行的JavaScript代码,强制通过
var申明变量,未使用
var申明变量就使用的,将导致运行错误。启用strict模式的方法是在JavaScript代码的第一行写上:
'use strict';这是一个字符串,不支持strict模式的浏览器会把它当做一个字符串语句执行,支持strict模式的浏览器将开启strict模式运行JavaScript。来测试一下你的浏览器是否能支持strict模式:
'use strict';// 如果浏览器支持strict模式,// 下面的代码将报ReferenceError错误:
在控制台编辑下面的代码
abc = 'Hello, world';alert(abc);
运行代码,如果浏览器报错,请修复后再运行。如果浏览器不报错,说明你的浏览器太古老了,需要尽快升级。
相关文章推荐
- javascript学习(一)— 比较运算与strict模式
- 深入理解JavaScript系列(46):代码复用模式(推荐篇)
- 简单谈谈javascript代码复用模式
- JavaScript strict模式定义变量
- 深入理解JavaScript系列(45):代码复用模式(避免篇)
- 基于jquery div模式窗口 javascript 代码
- gulp插件之-----转化es6代码到es5 取消严格模式 remove "use strict" directive
- JavaScript的strict模式
- Javascript 匿名函数及其代码模式原理
- JavaScript语法支持严格模式:"use strict"
- JavaScript: 严格模式(use strict)
- 深入理解JavaScript:代码复用模式(推荐篇)
- javascript代码复用模式-----现代继承
- JavaScript代码复用模式
- JavaScript代码复用模式详解
- 深入理解JavaScript系列(46):代码复用模式(推荐篇)
- 编写可测试的前端Javascript代码第一部分--反模式及其解决方案
- gulp插件之-----转化es6代码到es5 取消严格模式 remove "use strict" directive Installation npm install babel-plugin-t
- 'use strict' - Javascript 的严格模式
- 初涉JavaScript模式 (13) : 代码复用 【上】