JavaScript中的严格模式

慕课网《JavaScript深入浅出》课程笔记

严格模式
修复JavaScript上部分不足,提供更强错误检查能力,语法更加严谨
function func(){
‘use strict’;
} //函数内设置严格模式

‘use strict’;
function func(){
} //整体使用严格模式

严格模式下的新变化
1。不允许使用with
使用with方法后会报syntaxerror的错误

2。不允许未声明的变量赋值

3。arguments变为参数的静态副本

!function(a){
  arguments[0] = 100;
  console.log(a);
 }(1);
 //100
 这里要注意,假如不传参数,那么结果就是undefined

!function(a){
  'use strict';
  arguments[0] = 100;
  console.log(a);
 }(1);
 //1
arguments变为参数的静态副本,不会对原来的arguments产生影响

!function(a){
  'use strict';
  arguments[0].x = 100;
  console.log(a.x);
 }({x:1});
 //100

4。delete参数、函数名以及不可配置的属性会报错

5。对象字面量重复属性名报错

!function(){
  'use strict';
  var obj = {x:1,x:2};
  }();

6。禁止八进制字面量

!function(){
  'use strict';
  console.log(0123);
  }();

7。eval、arguments变为关键字,不能作为变量、函数名

8。eval独立作用域

!function(){
  'use strict';
  eval('var evalVal = 2;');
  console.log(typeof evalVal);
  }();
//undefined

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值