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

javascript - 如果我不在函数中添加“use strict”会发生什么?

以下两种情况有什么区别?

use strict在文件顶部使用,而不是在函数中

use strict在包装函数中使用

我在一篇博客文章中读到,放在use strict文件顶部(而不是函数中)可能会产生无法预料的影响

另外,据我记得jshint建议也将其放入函数中。

那么,为什么把它放到一个函数中而不是放在文件的顶部会更好呢?

0 投票
1 回答
1375 浏览

javascript - 在 Node.js 中使用某些 es6 方法时是否需要使用 strict

我们在我的工作中进行了辩论,有人说在使用 es6 和 nodejs 时,当然没有 babel,你应该总是添加 'use strict' 因为某些 es6 方法可能不起作用。我找不到支持这一点的文档,是真的吗?

0 投票
1 回答
11830 浏览

javascript - 在严格模式 IE11 中不允许分配给只读属性

IE11 告诉我这var self = this是一个只读变量......但是在它的声明点之后我没有为它分配任何东西。唯一的变量是变化的高度。即使,我可以在使用时更改它var

'使用严格';

在此处输入图像描述

我收到以下错误SCRIPT5045: Assignment to read-only properties is not allowed in strict mode

根据微软的说法,您不应该能够重写只读属性。我不相信我是。那么为什么我会收到错误消息?

  • 只读属性
  • 写入只读属性
  • SCRIPT5045:在严格模式下不允许分配给只读属性
  • JavaScript
  • var testObj = Object.defineProperties({}, { prop1: { value: 10, writable: false // by default }, prop2: { get: function () { } } }); testObj.prop1 = 20; testObj.prop2 = 30;
0 投票
2 回答
427 浏览

javascript - 如何在 Atom 中为 jshint 禁用“使用严格”

我想禁用 JSHint 警告“W097”:使用“使用严格”的函数形式。

我知道我可以放置/* jshint -W097 */ 和/* jshint node: true */

但我不想在每一页的顶部手动添加它。有没有办法从源代码或设置中禁用?

非常感激

0 投票
0 回答
562 浏览

javascript - 为什么“使用严格”;防止 Safari 上的 jQuery 点击事件?

当我在外部 javascript 文件中使用“严格模式”时,我的jQuery click 事件不起作用。“使用严格”;放置在文件的顶部。

但是,在文件头部使用脚本时,click 事件确实有效。

safari 的版本是 601.1 和 ios 9.3.3

严格模式似乎在代码的标准化长期稳定性方面具有优势。所以,我想这是要走的路。

这个问题的 Safari 和 jQuery 点击事件发生在这里这里等等。

如果可能的话,我想继续使用严格模式。谢谢

脚本是:

0 投票
2 回答
879 浏览

javascript - 在函数调用中“使用严格”和命名参数

一位同事建议我添加"use strict";到我的 JS 代码的顶部,以突出显示我的定义中的任何空白和潜在的引用错误等。我对此感到非常满意,因为它已经确定了几段代码,这可能是一个问题.

但是,另一位同事建议我,在调用带有多个参数的函数时,按照指定的参数命名参数会很有帮助,尤其是当它像一堆布尔值时。为了说明,这里有几个函数调用:

...比:

但是"use strict";讨厌这个。在我完成此操作的任何地方,我都会在控制台中收到参考错误。正如预期的那样,它仍然运行良好,但控制台现在被所有这些明显未定义的引用弄得乱七八糟。

有谁知道是否有办法解决这个问题,这样我就可以保持我的同事欣赏的编码约定,还是我将不得不停止使用"use strict";或浏览我的所有代码并删除参数的名称?

谢谢。

0 投票
1 回答
725 浏览

jquery - 使用严格会导致未定义的功能

我正在尝试组织我的 js 文件并遵循建议的模块模式。当我在这种模式中使用“use-strict”时,一个函数被声明为未定义,没有“use-strict”方法,该函数就可以正常工作。是否推荐使用严格模式,如果是,为什么使用它时该功能不起作用?

0 投票
1 回答
90 浏览

javascript - 在进度条上使用严格模式

如果我将它直接放在 index.html 页面中,进度条正在工作。但是如果我将它放在具有“使用严格”模式的外部 active.js 文件中,它就不起作用(动画)。但其他 JS 工作正常。请帮我。提前致谢。下面是我的代码:

0 投票
1 回答
43 浏览

javascript - Javascript - 将大对象分配(而不是克隆)一个新变量以减少其名称

我想将一个大对象分配给一个新变量以减少它的名称,但是我有一个错误:"realEstateProjectFundReuse" is read-only

但是这种语法有效

0 投票
0 回答
318 浏览

angular - Angular 4 中的 Edge 浏览器中的“使用严格”问题

我无法解决出现在 Edge 浏览器中的这个问题。尝试从我的构建中手动删除“use strict”,但这对我没有帮助。

我在我的应用程序中使用最新的 angular 4.3.6。

错误类型错误:在严格模式下不允许分配给只读属性