zoukankan      html  css  js  c++  java
  • 为什么使用 use strict

    进入标志:

      "use script";

    使用方式:

      可以在 js 代码的第一行,也可以使用在函数中。但是写在 js 代码第一行不利于文件合并,因此可以写在一个自调用函数的第一行

    使用目的:

      解决 javascript 的不合理不严谨以及不安全的地方,提高编译效率,增加运行速度。为以后的 javascript 做更好的铺垫。

    规定:

    1、变量声明后才能使用

    2、限制一些动态绑定:禁止使用 width 语句、创设 eval 作用域(创建的变量只能在 eval 语句中使用)

    3、增强安全措施:禁止 this 指向全局对象(window->undefined)、禁止在函数内部遍历调用栈(caller/arguments)

    4、禁止删除变量(只有 configurable 设置为 true 的对象才能被删除,delete 对象)

    5、显示报错:修改对象的只读属性、使用 get 方法读取的属性进行赋值、对禁止扩展的对象添加属性、删除一个不可删除的属性

    6、重命名:对象不能有同名属性、函数不能有同名参数

    7、禁止八进制表示法,在 ES5 中也修改了 parseInt() 的行为,如果传入八进制数字,会被当作是以0开头的十进制字面量

    8、arguments 对象限制:不允许对 arguments 赋值、不再追踪参数的变化、淘汰 arguments.callee 和 arguments.aller

    9、不允许在非函数的代码块内声明函数

    10、增加部分关键字和保留字

    11、语句:语句末尾建议使用分号,防止压缩代码导致出错、条件控制语句始终使用代码块,即使代码块中只有一条语句

    好处:

    1、帮助检查对象的重复键

    2、未声明变量,导致变量暴露在全局,导致重写覆盖等

    3、提示函数重复参数

    4、限制函数的arguments,修改 eval 函数,增加 eavl 作用域,修改 this 指向;防止因不合适的书写导致的错误

    5、增加了部分保留字,便于以后 javascript 代码过度

    6、语句末尾建议使用分号,防止压缩代码导致出错

  • 相关阅读:
    理解消息循环和窗口过程(转)
    对话框和控件编程(转)
    俄罗斯方块
    男生女生配(抽屉原理)
    翻转吧,字符串
    数塔
    Pseudoprime numbers伪素数(快速幂+判定素数)
    shǎ崽 OrOrOrOrz
    As Easy As A+B
    求素数(筛选法)
  • 原文地址:https://www.cnblogs.com/z-one/p/6727320.html
Copyright © 2011-2022 走看看