<script>
/*严格模式*/
"use strict";
/*如果同时定义多个同名的变量,后面的将前面的覆盖*/
/*var age = 20;
var age = 30;
console.log(age);
/!*1.Duplicate parameter name not allowed in this context:函数中不能定义多个同名的形参*!/
function test(age,age){
console.log(age);
}
test(10,40);*/
/* var age = 20;
name1 = ‘rose‘;
/!*2.name1 is not defined:严格模式下定义变量必须使用var*!/
console.log(name1);*/
/*a3.ge is not defined:在严格模式下,eval有自己的作用域*/
/*eval("var age = 20;console.log(age);");
console.log(age);*/
/*4.严格模式是分块(作用域)的*/
/* function test(){
"use strict";
age1 = 10;
console.log(age1);
if(true){
age = 20;
console.log(age);
}
}
test();
age = 30;
console.log(age);*/
/*5.无法为只读属性赋值: Cannot assign to read only property ‘prototype‘ of function ‘function Object()*/
/*console.log(Object.prototype);
Object.prototype = {};
console.log(Object.prototype);*/
/*6.无法为值类型的数据添加属性,在宽松模式下虽然赋值无效,但是也不会报错*/
/*值类型的数据无法动态的扩展属性,在严格模式下会报错:Cannot create property ‘phone‘ on string ‘jack‘*/
/* var name = ‘jack‘;
name.phone = ‘119‘;
console.log(name.phone); //undefined*/
/*var flag = true;
flag.tel = ‘120‘;
console.log(flag.tel); //undefined
var age = 20;
age.email = ‘110‘;
console.log(age.email); //undefined*/
/*7.以0开头的数值默认被解析为8进制。但是在严格模式下不允许使用8进制的文本.html:67 Uncaught SyntaxError: Octal literals are not allowed in strict mode.*/
var age = 010;
console.log(age);
</script>
来源: http://www.bubuko.com/infodetail-2278294.html