问题标签 [use-strict]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 是否需要“使用严格”的 Python 编译器?
Python存在静态分析工具,但编译时检查往往与Python 所拥护的运行时绑定理念截然相反。可以使用静态分析工具包装标准 Python 解释器来强制执行一些“使用严格”类的约束,但我们没有看到这种东西被广泛采用。
Python 是否有某些东西使“使用严格”行为变得不必要或特别不受欢迎?
或者,尽管 Perl 被广泛采用,但“使用严格”行为是否不必要?
注意:“必要”是指“实际上必要”,而不是绝对必要。显然你可以不使用“use strict”来编写 Perl,但是(据我所见)大多数 Perl 程序员确实使用它。
注意:Python 解释器包装器不需要类似“use strict”的约束——您可以使用类似于“use strict”的伪编译指示,普通解释器会忽略它。我不是在谈论添加语言级别的功能。
更新:根据评论解释 Perl 中“使用严格”的作用。(官方文档的链接在第一段。)
“use strict”指令具有三个不同的组件,其中只有两个非常有趣:
use strict vars:静态检查程序中词法范围的变量使用情况。(请记住,在 Python 中,基本上只有
global
作用域和local
作用域)。许多 Python linter 会检查这类事情。因为这是他们唯一可以做的静态分析,所以 linter 假设你使用简单的词法作用域,并警告你在这种意义上看起来错误的事情,直到你告诉他们闭嘴。IE如果您没有对命名空间做任何花哨的事情,这对于检查拼写错误很有用。
use strict refs:防止符号命名空间取消引用。Python 最接近的类比是使用
locals()
和globals()
进行符号绑定和标识符查找。使用严格的潜艇:Python 中没有真正的模拟。
javascript - “use strict”在 JavaScript 中做了什么,背后的原因是什么?
最近,我通过 Crockford 的JSLint运行了一些 JavaScript 代码,它给出了以下错误:
第 1 行字符 1 的问题:缺少“use strict”语句。
做了一些搜索,我意识到有些人添加"use strict";
到他们的 JavaScript 代码中。一旦我添加了语句,错误就停止出现了。不幸的是,谷歌没有透露这个字符串声明背后的大部分历史。当然,这一定与浏览器如何解释 JavaScript 有关,但我不知道会产生什么影响。
那么到底是"use strict";
什么,它意味着什么,它仍然相关吗?
当前的浏览器是否响应该"use strict";
字符串或是否供将来使用?
javascript - Javascript:原型方法错误?
当这段代码时,我收到“TestFunc is not defined”错误...
...从这段代码中运行:
javascript - 为什么这在严格模式下是非法的?
是的,是的,我知道,严格模式还没有出现,但实际上,我正在为未来做计划......
那么,为什么会这样:
...在 ES5 严格模式下不允许?
还是我误解了?JSLint:
能不能再详细一点,我想知道...?
编辑:
为避免混淆,这里有更多的原始代码:
javascript - Javascript:除了“use strict”,还有哪些其他“use”指令?
此外use strict
,还有哪些其他use
指令?
javascript - Javascript/jsLint:使用“use strict”时用什么替换jQuery(this);
当我使用 jslint 验证以下代码时,出现以下错误。
第 4 行字符 29 处的问题:严格违反。
第 5 行字符 56 处的问题:严格违反。
第 6 行字符 12 处的问题:严格违反。
第 8 行字符 12 处的问题:严格违反。
我猜这是因为使用了 jQuery(this) 但我不明白用什么替换它。请注意,这不是因为 jQuery 没有被声明为全局的。
javascript - 为什么“使用严格”(JavaScript)不检测未声明的变量?
我正在尝试“使用严格”;指令工作,并有一点麻烦。在以下文件中,FireFox 9 将(正确地)检测到 someVar 尚未在第 3 行声明,但未能检测到 theVar 尚未在第 19 行声明。我很难理解为什么会这样。
javascript - John Resig's simple class instantiation and "use strict"
Reference : http://ejohn.org/blog/simple-class-instantiation/
I was wondering, if there are any ECMAScript 5 compliant way to implement the same functionality. The problem is, accessing arguments.callee
is deprecated in strict mode.
javascript - 没有严格模式的 JSON.parse
我正在阅读有关 javascript 中的严格模式的John Resig 博客,但我有一个问题。
严格模式的功能之一是使用 JSON.parse 和 JSON.stringify,但我可以在不“使用严格”的情况下使用它。
如果您编写他在博客上使用的相同示例:
你可以看到这个工作。
为什么这是允许的?我错过了什么吗?
谢谢!
javascript - 为什么在使用严格时未定义匿名函数中的“this”?
为什么在严格模式下使用javascript时匿名函数中未定义?我理解为什么这可能有意义,但我找不到任何具体的答案。
例子:
在小提琴中进行测试:http: //jsfiddle.net/Pyr5g/1/ 查看记录器(萤火虫)。