问题标签 [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.
javascript - 如果我不在函数中添加“use strict”会发生什么?
以下两种情况有什么区别?
use strict
在文件顶部使用,而不是在函数中
use strict
在包装函数中使用
我在一篇博客文章中读到,放在use strict
文件顶部(而不是函数中)可能会产生无法预料的影响。
另外,据我记得jshint
建议也将其放入函数中。
那么,为什么把它放到一个函数中而不是放在文件的顶部会更好呢?
javascript - 在 Node.js 中使用某些 es6 方法时是否需要使用 strict
我们在我的工作中进行了辩论,有人说在使用 es6 和 nodejs 时,当然没有 babel,你应该总是添加 'use strict' 因为某些 es6 方法可能不起作用。我找不到支持这一点的文档,是真的吗?
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;
javascript - 如何在 Atom 中为 jshint 禁用“使用严格”
我想禁用 JSHint 警告“W097”:使用“使用严格”的函数形式。
我知道我可以放置/* jshint -W097 *
/ 和/* jshint node: true */
但我不想在每一页的顶部手动添加它。有没有办法从源代码或设置中禁用?
非常感激
javascript - 在函数调用中“使用严格”和命名参数
一位同事建议我添加"use strict";
到我的 JS 代码的顶部,以突出显示我的定义中的任何空白和潜在的引用错误等。我对此感到非常满意,因为它已经确定了几段代码,这可能是一个问题.
但是,另一位同事建议我,在调用带有多个参数的函数时,按照指定的参数命名参数会很有帮助,尤其是当它像一堆布尔值时。为了说明,这里有几个函数调用:
...比:
但是"use strict";
讨厌这个。在我完成此操作的任何地方,我都会在控制台中收到参考错误。正如预期的那样,它仍然运行良好,但控制台现在被所有这些明显未定义的引用弄得乱七八糟。
有谁知道是否有办法解决这个问题,这样我就可以保持我的同事欣赏的编码约定,还是我将不得不停止使用"use strict";
或浏览我的所有代码并删除参数的名称?
谢谢。
jquery - 使用严格会导致未定义的功能
我正在尝试组织我的 js 文件并遵循建议的模块模式。当我在这种模式中使用“use-strict”时,一个函数被声明为未定义,没有“use-strict”方法,该函数就可以正常工作。是否推荐使用严格模式,如果是,为什么使用它时该功能不起作用?
javascript - 在进度条上使用严格模式
如果我将它直接放在 index.html 页面中,进度条正在工作。但是如果我将它放在具有“使用严格”模式的外部 active.js 文件中,它就不起作用(动画)。但其他 JS 工作正常。请帮我。提前致谢。下面是我的代码:
javascript - Javascript - 将大对象分配(而不是克隆)一个新变量以减少其名称
我想将一个大对象分配给一个新变量以减少它的名称,但是我有一个错误:"realEstateProjectFundReuse" is read-only
但是这种语法有效
angular - Angular 4 中的 Edge 浏览器中的“使用严格”问题
我无法解决出现在 Edge 浏览器中的这个问题。尝试从我的构建中手动删除“use strict”,但这对我没有帮助。
我在我的应用程序中使用最新的 angular 4.3.6。
错误类型错误:在严格模式下不允许分配给只读属性