严格模式

严格模式:
1、必须在程序的顶部声明
2、声明变量,必须先声明,必须有关键字
3、严格模式下不能删除变量
4、函数里面的this指向window

‘use strict’; //必须写在第一行 如果没有写在第一行 此语句没有作用
name=‘小花’; // 变量名不能用name 如果用name 严格模式不起作用
console.log(name); //小花 如果变量名用name 严格模式不起作用

‘use strict’; //必须写在第一行 如果没有写在第一行 此语句没有作用
age=12; // 变量名不能用name 如果用name 严格模式不起作用
console.log(age); //报错

非严格模式下的eval作用域
var b=10;
eval(“var b=50”);
console.log(b); //b=50 非严格模式下 之前的b被覆盖

严格模式下的eval作用域
‘use strict’;
var a=10;
eval(“var a=20”);
console.log(a); //严格模式下 a=10,后面的不会覆盖前边的

严格模式下的this
function num(){
return this;
}
console.log(num()); //严格模式下 undefined 非严格模式下 指向的是window。

严格模式的原因:
1、保证代码的运行安全
2、提高编译效率,增加运行速度
3、为未来的新版本js做好铺垫
4、消除js语法的一些不合理,不严谨之处,减少一些怪异行为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值