zoukankan      html  css  js  c++  java
  • 严格模式

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

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

  • 相关阅读:
    逻辑回归
    异常
    内部类
    接口
    多态
    final关键字(最终的)
    不能被继承的父类成员
    对象初始化的过程
    方法重写
    abstract关键字
  • 原文地址:https://www.cnblogs.com/family-626-77/p/5849765.html
Copyright © 2011-2022 走看看