JavaScript中的严格模式

来源:互联网 发布:数学建模与算法的关系 编辑:程序博客网 时间:2024/05/20 15:39

慕课网《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); //1arguments变为参数的静态副本,不会对原来的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

这里写图片描述

原创粉丝点击