问题标签 [strict-mode]

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 回答
750 浏览

javascript - 为什么在严格模式下不允许转义字符?

为什么在javascript严格模式下不允许转义字符?

0 投票
1 回答
505 浏览

javascript - 如何识别 javascript 不可删除的属性?

在 Javascript 严格模式下

不允许删除不可删除的属性

为了确保不删除这样一个不可删除的属性,如何确定属性 X是可删除的,而属性 Y是不可删除的

其背后的概念是……?

0 投票
6 回答
41246 浏览

javascript - 为什么在严格模式下不允许使用八进制数字文字(以及解决方法是什么?)

为什么JavaScript 严格模式下不允许使用八进制数字文字?有什么害处?

如果开发人员需要使用八进制(可能会错误地更改数字含义),是否有解决方法?

0 投票
2 回答
63 浏览

javascript - 为什么严格模式会使如此简单的动作如此不同?

有一个非常简单的算法,它在两种情况下的工作方式会出人意料地不同,具体取决于"use strict".

案例一

如果func()声明在严格模式内,则控制台记录原语

案例2

如果func()声明超出严格模式,则控制台记录相同值的对象


这种差异的根源是什么?这种转换的原因是什么?
这么简单的动作怎么会在严格模式的各种状态下如此不同?

0 投票
1 回答
3634 浏览

javascript - 为什么我的 JavaScript 在 Safari 的严格模式下无法正常工作?

我已经建立了一个使用一些简单 JavaScript 的网站。经过一些测试,我发现我的 JavaScript 在 iOS 设备上的行为与我可以测试的所有其他设备相比非常不同。

经过几个小时的反复试验,我发现只有在严格模式下才会出现意外行为,但是由于我对 Apple 开发和测试的软件/硬件有限,因此很难进一步解决问题。

为什么我的代码不能在严格模式下工作,并且只能在某些(特别是 Apple)设备下工作?

0 投票
1 回答
308 浏览

javascript - [this] 如何在严格模式下未定义?

当我在 Chrome 中运行此代码时,我得到一个 Uncaught TypeError: Cannot read property 'concat' of undefined

我不明白为什么会这样。怎么可能[this]是未定义的?即使this未定义,[this]也应该是一个数组,不是吗?

一个有趣的细节是,当我use strict从函数中删除该行时,错误消失并且代码按预期运行,将函数上下文和参数分别记录在新行上。

this在我不知道的严格模式下使用关键字可能有什么特别之处吗?

谢谢。

0 投票
1 回答
830 浏览

javascript - Firefox 忽略控制台中的“使用严格”

这是来自MDN的代码:

脚本中的 f2 调用工作正常。但它从控制台调用显示窗口对象!怎么了?设置“javascript.options.strict”选项没有帮助。

在此处输入图像描述

在 Chrome 中一切正常。

0 投票
6 回答
60119 浏览

mysql - 如何查找和禁用 MySQL 严格模式?

大家好,我想为 whmcs 找到这个 mysql 严格模式并禁用它,但我没有进展我是一个新手,如果我没有提到其他事情,那么很抱歉有人可以帮助我吗?我正在研究 WHM/Cpanel

0 投票
0 回答
177 浏览

javascript - 打字稿承诺绑定角度1.5

我有一个问题,我的承诺没有被正确地约束。

我已经阅读了很多关于这个主题的文章,我想我理解这个问题,但解决方案并不明确。

建议

这是代码:

0 投票
0 回答
30 浏览

javascript - 为什么浏览器在严格模式下允许一些全局变量?

我想不通,为什么有些浏览器允许下一个代码,而有些则不允许:

  • Windows 上的 Chrome 52 抛出 toString 和 valueOf,但允许 Number。
  • Linux 上的 Chrome 49 抛出 valueOf,并允许其他人。
  • Firefox 47 允许所有。
  • IE 11 允许数字。
  • Opera 允许编号。

起初,当我在 Chrome 中发现这一点时,我想,这是因为这些“变量”已经被定义为全局对象的属性。但window.hasOwnProperty('toString')返回 false,对于 'valueOf' 也是如此。所以我不知道。

请问有人能解释一下吗?

我问是因为我需要在单元测试中进行测试,全局变量没有被修改,这种行为很难,因为我不知道什么行为是正确的,所以我可以依赖它而不是有一天找到它是固定的。