问题标签 [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.
javascript - 如何识别 javascript 不可删除的属性?
在 Javascript 严格模式下
不允许删除不可删除的属性
为了确保不删除这样一个不可删除的属性,如何确定属性 X是可删除的,而属性 Y是不可删除的
其背后的概念是……?
javascript - 为什么严格模式会使如此简单的动作如此不同?
有一个非常简单的算法,它在两种情况下的工作方式会出人意料地不同,具体取决于"use strict"
.
案例一:
如果func()
声明在严格模式内,则控制台记录原语
案例2:
如果func()
声明超出严格模式,则控制台记录相同值的对象
这种差异的根源是什么?这种转换的原因是什么?
这么简单的动作怎么会在严格模式的各种状态下如此不同?
javascript - 为什么我的 JavaScript 在 Safari 的严格模式下无法正常工作?
我已经建立了一个使用一些简单 JavaScript 的网站。经过一些测试,我发现我的 JavaScript 在 iOS 设备上的行为与我可以测试的所有其他设备相比非常不同。
经过几个小时的反复试验,我发现只有在严格模式下才会出现意外行为,但是由于我对 Apple 开发和测试的软件/硬件有限,因此很难进一步解决问题。
为什么我的代码不能在严格模式下工作,并且只能在某些(特别是 Apple)设备下工作?
javascript - [this] 如何在严格模式下未定义?
当我在 Chrome 中运行此代码时,我得到一个 Uncaught TypeError: Cannot read property 'concat' of undefined
我不明白为什么会这样。怎么可能[this]
是未定义的?即使this
未定义,[this]
也应该是一个数组,不是吗?
一个有趣的细节是,当我use strict
从函数中删除该行时,错误消失并且代码按预期运行,将函数上下文和参数分别记录在新行上。
this
在我不知道的严格模式下使用关键字可能有什么特别之处吗?
谢谢。
mysql - 如何查找和禁用 MySQL 严格模式?
大家好,我想为 whmcs 找到这个 mysql 严格模式并禁用它,但我没有进展我是一个新手,如果我没有提到其他事情,那么很抱歉有人可以帮助我吗?我正在研究 WHM/Cpanel
javascript - 打字稿承诺绑定角度1.5
我有一个问题,我的承诺没有被正确地约束。
我已经阅读了很多关于这个主题的文章,我想我理解这个问题,但解决方案并不明确。
建议
这是代码:
javascript - 为什么浏览器在严格模式下允许一些全局变量?
我想不通,为什么有些浏览器允许下一个代码,而有些则不允许:
- Windows 上的 Chrome 52 抛出 toString 和 valueOf,但允许 Number。
- Linux 上的 Chrome 49 抛出 valueOf,并允许其他人。
- Firefox 47 允许所有。
- IE 11 允许数字。
- Opera 允许编号。
起初,当我在 Chrome 中发现这一点时,我想,这是因为这些“变量”已经被定义为全局对象的属性。但window.hasOwnProperty('toString')
返回 false,对于 'valueOf' 也是如此。所以我不知道。
请问有人能解释一下吗?
我问是因为我需要在单元测试中进行测试,全局变量没有被修改,这种行为很难,因为我不知道什么行为是正确的,所以我可以依赖它而不是有一天找到它是固定的。