问题标签 [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.

0 投票
4 回答
62154 浏览

angularjs - AngularJS 控制器和“使用严格”

我最近开始使用 JSHint,它要求我使用“use strict”的函数形式。从那时起,AngularJS 抛出一个错误:

“错误:参数 'webAddressController' 不是函数,未定义”

当我删除“使用严格”的功能形式时,控制器加载正常。

控制器:

有人对这里发生的事情有任何见解吗?

0 投票
1 回答
5549 浏览

javascript - “使用严格”导致未定义的错误

我在我的 JavaScript 中定义了以下函数:

我通过 JSLint 运行我的代码,它建议我在函数中添加“use strict”。

当我e现在抛出和未定义的错误时。从一些初步调查来看,似乎不再定义thiswhich used to refer 。_snr

我读过“使用严格”,发现它是用来防止不安全的做法。有人能解释一下这有什么不安全的吗?“使用严格”实际上在做什么以及如何修复我的代码?

0 投票
2 回答
9017 浏览

perl - 为什么不允许“使用”,如“使用严格;” 在 Perl 5.14 中?

我正在尝试使用以下约定,我被指示为我的"Hello, World!"程序使用良好/正确/安全的 Perl 代码:

我在我的主 Windows 7 操作系统上使用 (Strawberry) Perl 5.12 创建并成功运行了以下“Hello World”程序:

正如预期的那样,我得到的结果是"Hello, World!"

令我感到非常奇怪的是,使用 Perl 5.14 在我的虚拟化 Linux Mint 14 操作系统的终端中运行的相同程序产生了以下错误:

我随后创建了其他没有use strict;oruse warnings;行的“Hello World”程序,还有一个带有 的程序-w,我在一些教程中看到过,如果我没记错的话,会打开警告。

我的两个替代版本都可以正常工作,因为它们产生了我的预期结果:

我不能确定的是,我是否需要use5.14 及更高版本的 Perl 程序中的语句,或者是否可以-w在第一行的末尾写下。

我想我可以在我所有的 Perl 程序中使用一致的标头,可以这么说,无论它们是 Windows 还是 Linux,Perl 5.12 或 5.14 或其他。

0 投票
2 回答
502 浏览

javascript - 如果使用它,“use strict”会使我的 CasperJS 测试崩溃

这是代码:

casperjs test myfile.js返回:

如果我删除“use strict”,它只会挂起(预期的行为,因为这个测试不完整)。我想围绕 use strict 有一条我不理解的规则,但返回的错误并不明显。

0 投票
2 回答
1502 浏览

javascript - javascript中的“使用严格”

我最近一直在阅读许多 JavaScript 代码,我想知道使用"use strict". 任何想法将不胜感激。

0 投票
1 回答
525 浏览

javascript - “使用严格”是否已过时?

请假设“使用严格”;并且还假设 JSLint 已打开并且不能忽略错误。

我发现运算符和 ',' 启动的列表更具可读性,

例如:

因此我的问题
是:“使用严格”是否已过时?

编辑:'使用严格';不会阻止坏行代码的执行。它可以防止执行某些类型的错误。

我看到 JSLint 和 JSHint 以不同的方式处理坏换行符。JSHint 对我喜欢的语法更加友好。

因此,对于正在从事此工作的其他人来说,这可能是一个解决方案。

0 投票
4 回答
762 浏览

javascript - JSLint 严格违规。面向对象的 Javascript 挫折

我正在尝试学习在 JavaScript 中进行面向对象的编程并严格违反 JSLint。我知道我在非全局环境中使用它(或类似的东西......),但我不知道如何正确地做到这一点。这是我的代码:

0 投票
1 回答
507 浏览

javascript - “use strict”如何修改Javascript中“this”的规则?

我试图了解“使用严格”的“this”规则;在以下情况下进行修改。

阅读(http://unschooled.org/2012/03/understanding-javascript-this/)后,我最好的猜测是,由于函数 isStrictModeOn() 没有“附加”到任何东西,这指的是空值。这被认为是仅将 this 附加到全局对象的 Javascript 更明智的替代方案。这是对在这种情况下“使用严格”所做的更改的正确解释吗?

http://www.novogeek.com/post/ECMAScript-5-Strict-mode-support-in-browsers-What-does-this-mean.aspx

0 投票
1 回答
1842 浏览

javascript - 为什么 JSLint 会在这个函数上给出严格的违规错误?

JSLint 给了我“严格违反”错误,尽管我在一个函数中使用了“this”上下文,它将它隐藏在全局范围之外。

作为记录,我使用 Webstorm 中内置的 JSLint 解析器。

0 投票
2 回答
7818 浏览

javascript - JavaScript 严格模式下的全局变量

一个简单的 Javascript 问题,例如我有一个像这样的 Angular app.js;

我读到在 Javascript 文件的开头使用“use strict”会使该文件中的所有变量都以严格模式处理,这意味着当您使用全局变量时它会抛出错误(?),但是我们如何访问如果不在全局范围内,来自我们所有控制器和服务的“eventApp”对象?