开启严格模式(”use strict”):
- SyntaxError: Duplicate data property in object literal not allowed in strict mode.
原因:
在对象中声明相同的属性名
例如:
var obj ={
‘name’: 1,
‘name’: 2
};
- SyntaxError: Strict mode function may not have duplicate parameter names .
原因:
在函数声明中相同的参数名
例如:
function fix(a,b,a) {
return a+b;
}
- SyntaxError: Octal literals are not allowed in strict mode.
原因:
不能用前导0声明8进制直接量
例如:
var a = 012;
- SyntaxError: Assignment to eval or arguments is not allowed in strict mode
原因:
不能重新声明、删除或重写eval和arguments这两个标示符
例如:
var eval = ……;
- SyntaxError: Delete of an unqualified identifier in strict mode.
原因:
用delete删除显示声明的标识符、名称和具名函数
例如:
function temp() {
‘use strict’;
var test = 1;
delete test;
}
- SyntaxError: Unexpected strict mode reserved word
原因:代码中使用扩展的保留字,例如 interface,let,yield,package,private等
7.SyntaxError: Strict mode code may not include a with statement
原因:严格模式下是禁止使用with的
网友评论