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的严格模式和正常模式的主要内容,如果未能解决你的问题,请参考以下文章

__x__(81)1017第十六天__ JavaScript 严格模式

246 JavaScript严格模式

严格模式 丨JavaScript 函数进阶

前端面试基本---JavaScript严格模式

JavaScript学习(七十二)—严格模式

Javascript 严格模式详解