• 严格模式


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

    在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。

  • 相关阅读:
    4. 单向循环链表
    3. 单向链表
    2. 队列的实现
    1. 时间复杂度(大O表示法)以及使用python实现栈
    Ubuntu16.04LTS安装集成开发工具IDE: CodeBlocks 和Eclipse-cdt
    Ubuntu16.04搭建各种开发环境的IDE: QT5 , CodeBlocks ,eclipse-cdt, PyCharm
    python2和python3 分别连接MySQL的代码
    面向对象基础
    文件的处理
    离散表(哈希表),深浅拷贝
  • 原文地址:https://www.cnblogs.com/family-626-77/p/5849765.html
Copyright © 2020-2023  润新知