美文网首页
strict模式总结

strict模式总结

作者: 大城主 | 来源:发表于2017-09-13 14:39 被阅读0次

进入标志

'use strict'
老版本会当做一串普通字符

如何调用

  1. 写在首行,整个文件进入严格模式
  2. 放在函数体第一行
  3. 将整个脚本文件放在一个立即执行的匿名函数之中
    (function (){
    "use strict";
    // some code here
    })();

strict模式特点

将拼写错转成异常

  1. 无法意外创建全局变量
  2. 使引起静默失败的赋值操抛出异常
  3. 删除不可删除的属性时会抛出异常
  4. 重名属性被认为是语法错误
  5. 严格模式要求函数的参数名唯一
  6. 严格模式禁止八进制数字语法,不允许以零(0)开头的八进制语法
    var a = 0o10; // ES6: 八进制
  7. 禁止设置primitive值的属性

简化变量使用

  1. 禁止with
  2. eval不再为上层范围引入新变量
  3. 严格模式禁止删除声明变量

让arguments和eval少了一些奇怪的行为

  1. 名称 eval 和 arguments 不能通过程序语法被绑定(be bound)或赋值
  2. 参数的值不会随 arguments 对象的值的改变而变化
  3. 不再支持 arguments.callee

"安全的" JavaScript

  1. 在严格模式下通过this传递给一个函数的值不会被强制转换为一个对象
  2. fun.caller和fun.arguments都是不可删除的属性而且在存值、取值时都会报错
  3. arguments不会再提供访问与调用这个函数相关的变量的途径

为未来的ECMAScript版本铺平道路

  1. 一部分字符变成了保留的关键字。这些字符包括implements, interface, let, package, private, protected, public, static和yield
  2. 严格模式禁止了不在脚本或者函数层面上的函数声明

相关文章

  • ES5总结

    es5总结 1. strict模式 严格模式,限制一些用法,'use strict'; 为什么使用严格模式: 消除...

  • strict模式总结

    进入标志 'use strict'老版本会当做一串普通字符 如何调用 写在首行,整个文件进入严格模式 放在函数体第...

  • JavaScript - 基础 - 2

    #JavaScript 严格模式(use strict) JavaScript 严格模式(strict mode)...

  • 整理JavaScript

    JavaScript 严格模式(use strict) "use strict"; 通过严格模式,在函数内部选择进...

  • strict模式

    JavaScript在设计之初,为了方便初学者学习,并不强制要求用var申明变量。这个设计错误带来了严重的后果:如...

  • ‘use strict’ js 严格模式

    'use strict'/ "use strict" 严格模式 -ECMAScript 5[http://www....

  • ES5和ES6总结--未完待续

    ES5 1、总结 严格模式,限制一些用法 use strict 为什么使用严格模式: 消除代码运行的不安全之处,...

  • javaScript变量提升

    JavaScript 严格模式(use strict)

  • React-native学习--基本结构

    /* 开启Strict Mode,这种模式下可以将错误处理提高。 */ 'use strict' /* 将reac...

  • Javascript 严格模式use strict详解

    Javascript 严格模式use strict详解 转载

网友评论

      本文标题:strict模式总结

      本文链接:https://www.haomeiwen.com/subject/toiojxtx.html