标签:静态 代码 参数 strong 转化 构造函数 删除 无法 声明
在js代码中加入"use strict";就相当于进入严格模式,严格模式改变了语法和运行时行为,将隐藏的问题转化为错误。
js的严格模式有以下特点:
一、变量声明
全局变量必须显示声明,才能使用,如果没有用var声明,就使用,会报错。
二、函数声明
不能在非函数的代码块内声明函数,比如if语句,循环语句。
三、静态绑定
在编译阶段,就会确定属性和方法属于哪个对象。
1、禁止使用with语句
因为with语句无法在编译时就确定,属性到底归属哪个对象。
2、eval作用域
正常模式下,只有全局和函数作用域,严格模式下,会有eval作用域。
四、this
使用构造函数时,如果没有用new,this不会指向window,而是会报错。
五、delete
无法删除变量,只有configurable设置为true的对象属性,才能被删除。
删除只读的属性,会报错。
六、不能重名
对象属性不能重名,函数参数不能重名。
标签:静态 代码 参数 strong 转化 构造函数 删除 无法 声明
原文地址:http://www.cnblogs.com/camille666/p/js_use_strict.html