严格模式是一种特殊的运行模式,他修复了部分语言上的不足,提供更强的错误检查,并增强安全性。

在js文件开头引入'use strict'使整个js代码都在严格模式下进行

1.with语句会抛错误
2.未声明的变量被赋值会报错 / /没有声明就赋值的变量,相当于是定义了一个全局变量,通过window.x可以访问
3.arguments在严格模式下变为静态,传入的参数与arguments无关系
4.delete会报错 // 普通模式下,在函数中删除参数,不会成功,但也不报错,会返回false。在严格模式中,删除参数或函数名会报语法错。
5.对象的重复属性名会报错 //普通模式下,重复命名,最后的赋值会覆盖前面的,不会报错。严格模式下,重复命名,会报语法错。
6.禁止八进制变量
7.eval被认定为关键字,另外eval的参数中若有定义变量的语句,在严格模式下只是一段平凡的字符串,使用typeof检测不到在eval里定义的变量类型 //严格模式下,eval,arguments为关键字

普通模式下,eval内部定义的变量,在eval外部也可以访问。严格模式下,eval有独立作用域,在eval之外不能访问eval内部变量,类似于一个局部作用域

8.对configurable为false的属性删除时,普通模式删除失败,返回false,不报错;严格模式,会报typeerror。

优质内容筛选与推荐>>
1、Android进阶篇-图片选择功能
2、第8章 日期和时间
3、sharepoint 2010 如何扩展webpart自定义属性边栏字段 custom webpart properties
4、Linux MySQL源码安装缺少ncurses-devel包
5、Linux下压力测试工具推荐:WebBench


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号