最近,我通过克罗福德 查了一些JavaScript代码JSLint JSLint,并给出了以下错误:
第1行第1字符1:缺少“严格使用”声明的问题。
在做一些搜索时,我意识到有些人加了"use strict";
输入 JavaScript 代码。 一旦我添加了该语句, 错误就不再出现。 不幸的是, Google 并未披露此字符串语句背后的大部分历史。 当然, 它肯定与浏览器如何解读 JavaScript 有关, 但我不知道效果会是什么 。
那么,什么是"use strict";
关于它的意义是什么,它是否仍然相关?
当前浏览器中的任意浏览器响应"use strict";
字符串, 还是用于未来用途 ?
“ 严格使用 ” ; 定义 JavaScript 代码应以“ 限制模式” 执行 。
- ECMAScript 5版的新指令是“严格使用”指令。
- 它不是一种声明,而是一种字面表达,被以前版本的JavaScript所忽视。
- “严格使用”的目的是表示代码应以“严格模式”执行。
- 在严格模式下,您不能使用未声明的变量。
所有现代浏览器支持“ 严格使用 ” , 除非因特网探索者 9 及以下.
缺点
如果开发商使用一个严格模式的图书馆, 但开发商通常使用正常模式,
更糟糕的是,由于开发商处于正常模式,他们没有被抛出额外错误的好处,因此错误可能会无声无息地失败。
此外,如上所列,严格模式阻止你做某些事情。
但有些开发商不喜欢这种限制, 并想使用语言的所有特征。
“ 严格使用 ” ; 定义 JavaScript 代码应以“ 限制模式” 执行 。
- ECMAScript 5版的新指令是“严格使用”指令。
- 它不是一种声明,而是一种字面表达,被以前版本的JavaScript所忽视。
- “严格使用”的目的是表示代码应以“严格模式”执行。
- 在严格模式下,您不能使用未声明的变量。
所有现代浏览器支持“ 严格使用 ” , 除非因特网探索者 9 及以下.
缺点
如果开发商使用一个严格模式的图书馆, 但开发商通常使用正常模式,
更糟糕的是,由于开发商处于正常模式,他们没有被抛出额外错误的好处,因此错误可能会无声无息地失败。
此外,如上所列,严格模式阻止你做某些事情。
但有些开发商不喜欢这种限制, 并想使用语言的所有特征。