js 严格模式

作者: 浮若年华_7a56 | 来源:发表于2018-07-25 20:05 被阅读0次

"use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。
它不是一条语句,但是是一个字面量表达式,在 JavaScript 旧版本中会被忽略。
use strict是ECMAscript5的特性,不建议在全局使用use strict,因为当压缩不同文件时候,一个文件使用了use strict,一个没有使用,没有使用use strict的文件就会报错
1.作用
  消除js语法不合理、不严谨、不安全的问题;提高编译器效率,增加运行速度
2.支持的浏览器
  IE10+,Firefox4+,safari12+,opera12+,chrome
3.规则
  变量:
    不允许创建全局变量 eg: name = "bella";
    不能对变量进行delete操作 eg: var name = "bella"; delete name;
  对象:
    不能为只读属性赋值:
      ECMAscript5出现了Object.definePropotype方法改变了javascript语言中所有object是Public的这一说法;
      Object.definePropotype(obj,prop,descriptor):需要添加或修改的对象,属性名称,属性描述;
      var person = {name:"bella",sex:"female"};Object.definePropotype(person ,"name",{value:"alias",writable:false})
    不能为不可配置的属性使用delete操作
      不可配置也是通过Object.definePropotype来设置的
      var person = {name:"bella",sex:"female"};Object.definePropotype(person ,"name",{configurable:false})
  函数:
    参数必须唯一 eg: function(a,a){}
    修改形参不会影响arguments eg:funtion(arg1){ arg1 = "bella";} 非严格模式下arguments[0]:bella,arguments被修改了
    不允许使用arguments.callee 和 arguments.caller
  不允许eval()在包含上下文中创建变量或函数
    一般都很少用eval,因为eval会将字符串当做js代码来执行,会改变上下文 eg:eval("var x = 10"); alert(x)这样是不允许的
  不允许this为null 或 undefined
  不允许使用with语句
  不允许使用八进制字面量

为什么使用严格模式:
消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
消除代码运行的一些不安全之处,保证代码运行的安全;
提高编译器效率,增加运行速度;
为未来新版本的Javascript做好铺垫。
"严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经支持它,许多大项目已经开始全面拥抱它。
另一方面,同样的代码,在"严格模式"中,可能会有不一样的运行结果;一些在"正常模式"下可以运行的语句,在"严格模式"下将不能运行。掌握这些内容,有助于更细致深入地理解Javascript,让你变成一个更好的程序员。

相关文章

  • 面向对象-严格模式、作用域

    严格模式 js有两中开发模式:非严格模式(默认)+严格模式(“ues strict”) 严格模式:会进行更严格的代...

  • 开发中的严格模式

    js中有严格模式和非严格模式两种运行环境 在开发中,有非严格模式和严格模式2种开发模式 在严格模式下,会做更加严格...

  • js 严格模式

    "use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。它不是一条...

  • js:严格模式

    严格模式:js的一种运行模式,设立严格模式主要有以下几个: 1、消除js语法的一些不合理、不严谨之处,减少一些...

  • js严格模式

    1.为什么用严格模式 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为; 消除代码运行的一些...

  • JS严格模式

    一、概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"。顾名思义,这种模式使得Ja...

  • JS 严格模式

    一、如何使用严格模式?可以在js文件的最开头写入,这样就会在整个js文件中使用严格模式 或者在一个函数的开头写入,...

  • js严格模式

    一、概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode)。...

  • js严格模式

    链接地址:http://www.cnblogs.com/xiaohuochai/p/4804903.html"us...

  • JS 严格模式

    'use strict' 是在一个严格的模式下 在正常模式中,如果一个变量没有声明就赋值,默认是全局变量。严格模式...

网友评论

    本文标题:js 严格模式

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