JavaScript系列之 严格模式 篇
何为严格模式
JavaScript 严格模式(strict mode)即在严格的条件下运行。
为什么使用严格模式
- 消除代码运行的一些不安全之处,保证代码运行的安全
- 提高编译器效率,增加运行速度
- 为未来新版本的Javascript做好铺垫
严格模式使代码向更合理,更安全,更严谨方向发展
基本用法
1.为整个js代码开启严格模式
所有语句之前放一个特定语句 “use strict”; (或 ‘use strict’;)
"use strict";
'use strict';
2.为function代码开启严格模式
在函数内部代码前放入"use strict";(或 ‘use strict’;)
function strict() {
"use strict"
function nested() {
return "And am I";
}
return "Hi I'm a strict mode function! " + nested();
}
重要注意点
1.不允许使用未声明的变量
x = 1; //不报错,默认为全局变量
strict ();
function strict() {
"use strict";
y = 2; //报错,y未定义
}
2.不能用delete删除变量、对象、函数
var obj = {a:1};
delete obj; //fasle
var b = 1;
delete b; //fasle
function fn(){
return 1;
}
delete fn; //fasle
3.函数的参数名不能重复
function sum(a, a, c) { // !!! 语法错误
"use strict";
return a + a + c; // 代码运行到这里会出错
}
4.禁止this关键字指向全局对象
对于一个开启严格模式的函数,如果没有指定this的话它值是undefined
function f(){
"use strict";
console.log(this);//undefined
}