javascript的严格模式和正常模式
2017-12-08 20:19
155 查看
在js代码中加入"use strict";就相当于进入严格模式,严格模式改变了语法和运行时行为,将隐藏的问题转化为错误。
js的严格模式有以下特点:
一、变量声明
全局变量必须显示声明,才能使用,如果没有用var声明,就使用,会报错。
二、函数声明
不能在非函数的代码块内声明函数,比如if语句,循环语句。
三、静态绑定
在编译阶段,就会确定属性和方法属于哪个对象。
1、禁止使用with语句
因为with语句无法在编译时就确定,属性到底归属哪个对象。
2、eval作用域
正常模式下,只有全局和函数作用域,严格模式下,会有eval作用域。
四、this
使用构造函数时,如果没有用new,this不会指向window,而是会报错。
五、delete
无法删除变量,只有configurable设置为true的对象属性,才能被删除。
删除只读的属性,会报错。
六、不能重名
对象属性不能重名,函数参数不能重名。
js的严格模式有以下特点:
一、变量声明
全局变量必须显示声明,才能使用,如果没有用var声明,就使用,会报错。
二、函数声明
不能在非函数的代码块内声明函数,比如if语句,循环语句。
三、静态绑定
在编译阶段,就会确定属性和方法属于哪个对象。
1、禁止使用with语句
因为with语句无法在编译时就确定,属性到底归属哪个对象。
2、eval作用域
正常模式下,只有全局和函数作用域,严格模式下,会有eval作用域。
四、this
使用构造函数时,如果没有用new,this不会指向window,而是会报错。
五、delete
无法删除变量,只有configurable设置为true的对象属性,才能被删除。
删除只读的属性,会报错。
六、不能重名
对象属性不能重名,函数参数不能重名。
相关文章推荐
- Javascript 严格模式详解
- Javascript 严格模式use strict详解
- 养成一个好习惯:在严格模式下开发Javascript
- javascript中的严格模式
- javascript中的严格模式
- Javascript 严格模式详解
- Javascript的严格模式
- js(javascript)中的严格模式解析
- javascript声明提升现象及严格模式
- JavaScript严格模式
- 关于javascript严格模式下七种禁止使用的写法
- Javascript 严格模式详解
- javascript中严格模式中的作用域问题
- Javascript严格模式
- javascript中的严格模式
- Javascript 严格模式详解
- javascript中的严格模式
- (" use strict")Javascript 严格模式详解
- Effective JavaScript 读书笔记 1 严格模式
- JavaScript起点(严格模式深度了解)