严格模式-基础知识总结------彭记(015)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了严格模式-基础知识总结------彭记(015)相关的知识,希望对你有一定的参考价值。
严格模式
<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>
以上是关于严格模式-基础知识总结------彭记(015)的主要内容,如果未能解决你的问题,请参考以下文章
面向对象的三大特性之继承-基础知识总结------彭记(05)