严格模式

Posted joeynkay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了严格模式相关的知识,希望对你有一定的参考价值。

  1. 消除了ECMAScript代码中的一些不合理的地方
  2. 为未来的版本保留一些语法
  3. 提高编译器效率

开启严格模式:

  1. 为脚本开启严格模式---在所有语句之前放置---‘use strict‘
  2. 为函数开启严格模式

严格模式下的变化:

  1. 变量必须先声明再使用
  2. 不能随意删除已经声明好的变量
  3. 全局作用域下的this指向不再是window,而是undefined
  4. 构造函数不加new调用,this会报错(this指向undefined)
  5. new构造函数中的this仍然指向实例对象
  6. 定时器中的this仍然指向window
  7. 事件、对象还是指向调用者
  8. 函数不能由重名的参数
  9. 函数声明必须在顶层;不能在if、for的代码块中声明,但是可以在函数内声明函数;

以上是关于严格模式的主要内容,如果未能解决你的问题,请参考以下文章

Mysql大家是用严格模式还是宽松模式

严格模式更改的规则是啥?

为啥整数上的 in_array 严格模式比非严格模式慢?

javascript:严格模式

严格模式和混杂模式

strict 严格模式