码迷,mamicode.com
首页 > 编程语言 > 详细

javascript的严格模式和正常模式

时间:2017-12-08 22:58:16      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:静态   代码   参数   strong   转化   构造函数   删除   无法   声明   

在js代码中加入"use strict";就相当于进入严格模式,严格模式改变了语法和运行时行为,将隐藏的问题转化为错误。

js的严格模式有以下特点:

一、变量声明

全局变量必须显示声明,才能使用,如果没有用var声明,就使用,会报错。

二、函数声明

不能在非函数的代码块内声明函数,比如if语句,循环语句。

三、静态绑定

在编译阶段,就会确定属性和方法属于哪个对象。

1、禁止使用with语句

因为with语句无法在编译时就确定,属性到底归属哪个对象。

2、eval作用域

正常模式下,只有全局和函数作用域,严格模式下,会有eval作用域。

四、this

使用构造函数时,如果没有用new,this不会指向window,而是会报错。

五、delete

无法删除变量,只有configurable设置为true的对象属性,才能被删除。

删除只读的属性,会报错。

六、不能重名

对象属性不能重名,函数参数不能重名。

javascript的严格模式和正常模式

标签:静态   代码   参数   strong   转化   构造函数   删除   无法   声明   

原文地址:http://www.cnblogs.com/camille666/p/js_use_strict.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!