最近,我通过Crockford的jslint 输入了一些我的笔记本代码, 它犯了以下错误:
第1行字符1:缺少“严格使用”的语句。
某些搜索, 我意识到有些人在他们的 javascript 代码中添加了“ 严格使用 ” ; 。 一旦我添加了该语句, 错误就不再出现。 不幸的是, Google 并没有揭示此字符串语句背后的大部分历史。 当然, 它肯定与浏览器如何解读该语句有关, 但我不知道效果会是什么 。
那么,什么是“严格使用”;什么是“严格使用”;一切,它意味着什么,它是否仍然相关?
当前的任何浏览器是否响应“ 严格使用 ” ; 字符串, 或是否未来使用 ?
要比较的小示例 :
无限制模式 :
(一) [1,2,3] 控制台.log(一) / 输出: / 1/ / 2/ 3
严格模式 :
“ 严格使用 ” ; 对于 (i) [1, 2, 3]) 控制台. log(i) / 输出: // / 未捕获引用器: i 未定义
无限制模式 :
字符串. prototype. test = 函数 () { 控制台. log( 此“ 字符串” 类型); } } ; a. test (); // 输出 // 假
字符串类型. prototype. test = 函数 () {“ 严格使用 ” {; 控制台. log( 此“ 字符串” 的类型) } ; a. test (); // 输出 / / true
“严格使用” ; 定义 Javarcamp 代码应使用“ 限制模式” 执行 。
“使用严格”指令在5版缩写文本中是新的“使用严格”指令。它不是一个声明,而是一个字面表达式,被先前版本的 Javascript 忽略。“使用严格”的目的是表示代码应该以“严格模式”执行。例如,不能使用未声明的变量。
所有现代浏览器都支持“严格使用”,
不利情况
如果开发商使用一个严格模式的图书馆, 但开发商通常使用正常模式工作,
更糟糕的是,由于开发商处于正常模式,他们没有被抛出额外错误的好处,因此错误可能会无声无息地失败。
此外,如上所列,严格模式阻止你做某些事情。
但有些开发商不喜欢这种限制, 并想使用语言的所有特征。
https://www.tutoricsteacher.com/javascript/javascript-strict
“严格”模式引入了5号标本中。
(function() {
"use strict";
your code...
})();
刻写“ 严格使用 ” ; 在您 js 文件的顶部打开严格的语法检查 。 它为我们执行以下任务 :
如果您试图指定给一个未声明变量, 则显示错误 。 如果您试图指定给一个未声明的变量, 则会阻止您覆盖密钥 js 系统库禁止某些不安全或易出错的语言功能。
个人功能内部的工程也严格使用。在代码中加入严格使用总是更好的做法。
浏览器兼容性问题 : “ 使用” 指令意在向后兼容。 不支持这些指令的浏览器将只看到一个字符串字典, 没有进一步引用。 因此, 它们会通过它继续前进 。
严格模式使 v8 引擎具有严格的特性。 某些特性的简短示例 :
您可通过写作方式实现全球化 :
'use strict'; // strict mode enabled!
函数中包含 :
let myfunc = () => {
'use strict'; // strict mode enabled
b = 0; // broke
}
在使用变量之前必须声明变量(正常 imo):
var x;
x = '0'; // ok
y = ''; // not ok
已经启用 es6 功能( 取决于浏览器) , 因为节点 v4+ 很重要 。 在某些情况中, 性能更好 。
还有更多功能,请在这里检查更多功能