严格模式(strict mode),该模式使得javasccript在更严格的语法下运行
消除js语法中一些不合理、不严谨之处,减少一些怪异行为,消除代码运行的一些不安全
之处,为将来新版本的js做好铺垫
使用:在全局或函数的第一条语句定义’use strict’;如果浏览器不支持只解析为一条简单的语句
不会有副作用
语法行为和更变
1.必须使用var声明变量
2.禁止自定义的函数中的this指向window
3.创建eval作用域
4.对象不能有重名属性
例:
<script type="text/javascript">
/*
严格模式(strict mode),该模式使得javasccript在更严格的语法下运行
消除js语法中一些不合理、不严谨之处,减少一些怪异行为,消除代码运行的一些不安全
之处,为将来新版本的js做好铺垫
使用:在全局或函数的第一条语句定义'use strict';如果浏览器不支持只解析为一条简单的语句
不会有副作用
语法行为和更变
1.必须使用var声明变量
2.禁止自定义的函数中的this指向window
3.创建eval作用域
4.对象不能有重名属性
*/
'use strict';
var username = 'wt';//必须使用var,否则会报错
console.log(username);
function Person(name,age){
this.name = name;
this.age = age;
}
new Person('wt',8);//如果没有new,则是自调用,this指向window,会报错
var str="XZ";
eval('var str="wang"; alert(str)');//解析字符串,以函数的形式执行,如果不使用严格模式
//严格模式下eval函数str不会改变全局的str