javascript的严格模式和正常模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript的严格模式和正常模式相关的知识,希望对你有一定的参考价值。
在js代码中加入"use strict";就相当于进入严格模式,严格模式改变了语法和运行时行为,将隐藏的问题转化为错误。
js的严格模式有以下特点:
一、变量声明
全局变量必须显示声明,才能使用,如果没有用var声明,就使用,会报错。
二、函数声明
不能在非函数的代码块内声明函数,比如if语句,循环语句。
三、静态绑定
在编译阶段,就会确定属性和方法属于哪个对象。
1、禁止使用with语句
因为with语句无法在编译时就确定,属性到底归属哪个对象。
2、eval作用域
正常模式下,只有全局和函数作用域,严格模式下,会有eval作用域。
四、this
使用构造函数时,如果没有用new,this不会指向window,而是会报错。
五、delete
无法删除变量,只有configurable设置为true的对象属性,才能被删除。
删除只读的属性,会报错。
六、不能重名
对象属性不能重名,函数参数不能重名。
以上是关于javascript的严格模式和正常模式的主要内容,如果未能解决你的问题,请参考以下文章