目的:
消除JS语法中一些不合理,不严禁之处,减少了怪异行为
消除了代码在运行中一些不安全之处,为代码的安全保驾护航
为未来新版本的JavaScript做好铺垫
使用:
在全局函数中的第一条语句定位:
'use strict'
严格模式的改变
1.必须用var声明变量
2.禁止自定义函数中的this指向window
3.创建eval作用域
4.对象不能有重名的属性
"use strict";
//1.必须要var来声明变量
var username = "kebe";
console.log(username);
//2.禁止自定义函数中的this指向window
function Person(username,age){
console.log(this);//严格模式下的this指向undefined
}
Person("张三",18);
// var p = new Person("张三",18)
//3.创建eval作用域,eval可以解析里面的字符串,并且让里面的代码可以执行
var str = "NBA";
eval("var str = 'CBA';console.log(str)"); //创建自己独立的作用域
console.log(str);
//4.对象名不能有重复
var o = {
username:"张三",//不报错,但是不行
username:"李四"
}