您的位置:首页 > Web前端 > JavaScript

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);
运行代码,如果浏览器报错,请修复后再运行。如果浏览器不报错,说明你的浏览器太古老了,需要尽快升级。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: