最近,我通过Crockford的jslint 输入了一些我的笔记本代码, 它犯了以下错误:

第1行字符1:缺少“严格使用”的语句。

某些搜索, 我意识到有些人在他们的 javascript 代码中添加了“ 严格使用 ” ; 。 一旦我添加了该语句, 错误就不再出现。 不幸的是, Google 并没有揭示此字符串语句背后的大部分历史。 当然, 它肯定与浏览器如何解读该语句有关, 但我不知道效果会是什么 。

那么,什么是“严格使用”;什么是“严格使用”;一切,它意味着什么,它是否仍然相关?

当前的任何浏览器是否响应“ 严格使用 ” ; 字符串, 或是否未来使用 ?


当前回答

我两分钱

严格模式的目标之一是允许更快地调试问题。 它会帮助开发者, 当某些错误的事情发生, 可能导致您网页的沉默和奇怪行为时, 它会提出例外, 从而帮助开发者。 当我们使用严格模式时, 代码会丢弃错误, 帮助开发者提前修正它 。

在严格使用后我学到的几件重要东西:

防止全球变量声明:

“ 严格” ; var tree1data = { name: 'banana tree', age: 100,leafcount: 100,leafcount: 100,000}; 函数树( 树类型) { var age; var lifcount; 年龄 = tree. age; 叶数 = kree.leafcount; 树名称 = tree. name; }; var tree1 = 新树( riet1data); 控制台. log( windowowow);

现在, 这个代码创建了全球范围的树名, 可以使用 window. nameoftree 访问 。 当我们严格使用这个代码时, 代码会丢弃错误 。

未标记的引用引用器: 未定义树名 。

以下列语句删除:

无法使用像丑化js这样的工具对语句进行简单化。 它们也会被折旧, 从未来的 Javarint 版本中删除 。

样本 :

“ 严格” ; var tree1data = { name: 'banana tree', 年龄: 100, 叶数: 100 000} ; 函数树( 树类型) { var 年龄; var 叶数; 年龄= 树类型. age; 叶数= 树类型.leafcount; // 树名称= 树类型. name; 对于 (var i = 0; i & lt; 2) { / let( leafcount = i) { { / * do something */} { (val i = 0; i & lt; 2; +u) { 和 (leafcount = i) { { {/ * do something} {; var tree1 = 新的树 (tree1data); { likefor.log( windo) 。

防止重复:

当我们有重复财产时,它是一种例外,

unacaute 语法解析器: 在严格模式下不允许以对象文字复制数据属性

“严格使用”; var 树1data = { 名称: “香蕉树 ” , 年龄: 100, 叶数: 100 000, 名称: “香蕉树 ” ;

很少有更多的人,但我需要获得更多这方面的知识。

其他回答

如果您使用在去年左右的一年中释放的浏览器, 那么它很可能支持 javascript 严格模式。 只有旧浏览器才会在 5 缩写5 成为当前标准之前使用, 不支持它 。

命令周围的引号确保代码在旧浏览器中仍然有效(尽管那些在严格模式下产生语法错误的东西通常只会导致脚本在旧浏览器中发生一些难以探测的故障 ) 。

严格模式对普通正文语义进行若干修改 :

消除一些标注的沉默错误, 将其修改为丢弃错误 。 修补错误, 使标标注的引擎难以进行优化 。 禁止某些可能在未来版本的标注中定义的语法 。

用于获取更多信息的 严格模式- javamart

“ 严格使用 ” ; 是程序员不会使用松散或刺绣的坏性能的保险。 它是一种指南, 就像标尺会帮助您做直线。 “ 严格使用” 有助于您做“ 直线编码 ” 。

那些不愿使用统治者直线行事的人 通常最终会出现在那些网页上 要求其他人调试他们的代码

杜格·克罗克福德(Doug Crockford)曾是一位高级刺绣开发商, 多年来一直担任高级刺绣开发商, 他在这里有一个非常有趣的职位。

现代刺绣作业应总是引出“严格使用”的“严格使用”; 柔和。 ecma组之所以选择“严格”模式的唯一原因是允许经验较少的编码员使用刺绣,然后给予时间适应新的、更安全的编码作业。

使用严格的使用来显示常见的重复错误, 以便以不同的方式处理错误, 并改变 Java 脚本的运行方式,

避免意外发生全球事故, 任何重复都不得消除, 消除这种胁迫性, 更安全的不可改变的电算错误() 。

您也可以阅读此文章的细节

包括严格使用您所有敏感的 javarpic 文件的起始点 从这一点上是一个小小方法 来成为一个更好的 javarpic 程序员, 避免随机变数变成全球性的, 事物静悄悄地变化 。