javascript - 为什么 typeof null 的值会在循环内发生变化?

标签 javascript v8

在 Chrome 控制台中执行此代码段:

function foo() {
    return typeof null === 'undefined';
}
for(var i = 0; i < 1000; i++) console.log(foo());

应该打印 1000 次 false,但在一些机器上会打印 false 多次迭代,然后打印 true

enter image description here

为什么会这样?这只是一个错误吗?

最佳答案

为此打开了一个 chromium 错误:

Issue 604033 - JIT compiler not preserving method behavior

所以是的,这只是一个错误!

关于javascript - 为什么 typeof null 的值会在循环内发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37930772/

相关文章:

javascript - 使用 jsdom 和 Jest

Javascript 生成器函数——用 C++ 编写

javascript - 确定去优化的原因

javascript - 没有图标的灯箱

javascript - 确定多个 XPath 的存在和值

javascript - jQuery 按键事件等待 0.5 秒等待另一个用户按键

javascript - 自定义渲染单元格数据网格 Material UI 的自定义排序

javascript - 如何将 JS 转换为本地机器代码(使用 v8)

JavaScript、V8、资源

javascript - WebAssembly.instantiate 既没有调用,也没有在 v8 嵌入中捕获