问题标签 [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 投票
1 回答
569 浏览

windows - 流星不会启动。ejson.js 中的“在严格模式之外尚不支持块范围声明(let、const、函数、类)”

我是 Meteor 的新手,只是尝试安装并运行一个新的应用程序。上周五我的工作正常,但今天不得不重新安装,无法再让应用程序运行。

安装是一个挑战。尝试在 Windows 上安装,发现安装程序不起作用。求助于提取 tar.gz 文件。此外,由于公司限制,必须安装到备用位置(%LocalAppData% 中的默认值已被策略锁定)。但是,正如我所说,这在上周有效,但今天无法正常工作。本周,团队中的其他人也开始看到这一点。第一次运行meteor时,它更新到meteor-tool到1.5.2.2,然后更新各种包。ejson 包是一个,并且更新到 1.0.14。如果我运行meteor update它说项目已经在 1.5.2.2。(最新的)和顶级依赖项是最新的兼容版本。我该如何解决?谢谢!

控制台输出:

0 投票
1 回答
2157 浏览

javascript - 角度:“使用严格” IE11

我在浏览器 IE11 中遇到了问题。该项目在 Angular 2/4 中。

Error: Multiple definitions of a property not allowed in strict mode. In file main.bundle.js

0 投票
2 回答
739 浏览

javascript - 在程序中间“使用严格”

为什么第二个函数没有使用“use strict”;模式(它在控制台中显示窗口对象):

但是如果我在第二个函数的主体中定义严格模式,一切都会如我所料。

我的问题很简单——为什么会这样?

0 投票
2 回答
71 浏览

javascript - Ubuntu问题上的WebStorm

几天前,我在我的计算机上安装了 Ubuntu,然后安装了 WebStorm,但我遇到了 JavaScript 项目的问题。它给了我一个错误,说我不能使用“让”这个词。几个小时后,我找到了一些解决方案:使用"use strict". 有可能不"use strict"吗?

还有一件事:它不承认我是 Math.pow 的更快替代方案:(a ** 2);

编辑:我正在使用 ECMAScript 6,这是确切的错误:SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode

0 投票
1 回答
1355 浏览

javascript - “使用严格”在 ES6 中是否仍然以相同的方式工作?

我读了一个答案,“使用严格”有助于限制对全局变量的访问并引发不必要的异常。但我只是想知道,“use strict”在 ES6 中是否仍然流行?或者今天是否有替代(更好)的方式来实现其功能?

0 投票
1 回答
41 浏览

javascript - 启用“use strict”后,为什么我可以在使用 prompt() 时不让 let 分配变量

我写"use strict";在我的剧本的顶部。

我不能写num = 5;,因为我得到了ReferenceError: Can't find variable: num

为了解决这个问题,我可以写let num = 5;.

使用这种逻辑,为什么我可以写作name = prompt("What is your name?");

我不应该写let name = prompt("What is your name?")吗?

0 投票
1 回答
6058 浏览

javascript - 如何使用 Gulp 在 Node 中要求 jQuery?

在 NodeJS 之上构建 PWA。利用生产gulp工艺package/bundle。也使用jQuery.

收到错误:

未捕获的 ReferenceError:未定义 jQuery

package.json

Gulp 任务是:

app.js是:

如果我对 Node 的理解是正确的,jQuery那么require在使用$. 所以我很困惑为什么我会收到错误。

请注意,虽然其他帖子在 Browserify 和 jQUery 方面存在问题,但我认为这不是问题所在。

0 投票
0 回答
138 浏览

javascript - 未启用的“使用严格”正在阻止代码的执行

昨天,我只是在练习真正的基础知识,一切都很好。但是今天打开test html,发现现在出现了错误:

常量 otherDate = new Date();

document.getElementById('demo2').innerHTML = ${otherDate.getDay()}/${otherDate.getMonth()}/${otherDate.getFullYear()};

此代码昨天打印了实际日期,现在它显示 0/11/2018(但新日期()的 console.log 是可以的)。我在浏览器中使用了调试器,它告诉我问题是启用了“使用严格”并且此代码与之冲突。但我从未激活它(我读过一些功能或框架可以启用它,但我没有使用任何东西,bootstrap、jquery、node.js 等......什么都没有)。

对不起初学者的问题,也许这是微不足道的,但我无法在任何地方找到答案。谢谢您的帮助。:)

对不起,这个错误:

TypeError:“调用者”、“被调用者”和“参数”属性可能无法在严格模式函数或在 Function.remoteFunction 调用它们的参数对象上访问

0 投票
1 回答
148 浏览

javascript - 如何在不使用“参数”的情况下计算 JavaScript 函数的参数数量?

我一直在更新我前段时间写的一个库,并且在这样做的过程中意识到在严格模式下测试时会出现意外错误。这些是因为在某些 API 函数的开头进行检查,如果参数数量不正确,这些函数会抛出错误。这是一个例子:

第二个参数绝对可以是任何值,因此检查 null/undefined 并不表示参数是否丢失或无效。但是,如果缺少参数,则绝对存在使用错误。如果可能的话,我想将其报告为抛出Error

不幸的是,该arguments对象在严格模式下是不可访问的。尝试在上面的代码片段中访问它会产生错误。

如何在严格模式下执行类似的检查,而不访问arguments对象?

编辑:Nina Scholz错误地将这个问题标记为重复。

0 投票
1 回答
163 浏览

javascript - JavaScript“使用严格”在 Chrome 代码片段/DevTools Sources 面板中不一致地工作

我目前正在学习关于“高级”Javascript 概念 ( https://www.udemy.com/course/javascript-advanced/ ) 的 Udemy 课程,第一课介绍了“使用严格”命令及其功能。本课程使用 Chrome 的 Sources 面板在片段中编写代码并观察预期结果。

出于某种原因,我在跟随视频时使用“use strict”命令的成功不一致。

示例:课程编写以下代码作为示例,说明“use strict”何时会在屏幕上抛出错误以展示存在未定义的变量。

在视频中,抛出了一个错误——“Uncaught ReferenceError: thVal is not defined”——并且代码片段的第 5 行出现了一个红色的“x”,以突出显示错误所在的位置。但是,由于某种原因,我没有看到该错误。

奇怪的是,我可以将错误陈述的变量更改为其他任何东西——“thValue”、“theVol”等——然后会出现错误消息和“x”。我在这里缺少什么吗?我确保在运行之前保存该片段,但由于某种原因,我无法完全按照所示的视频进行操作,这只是让我不知道为什么在使用“thVal”时会发生这种情况。