javascript - typeof x 仅在 for ... of 循环中使用时给出一个结果,即最后一个值结果

标签 javascript

var a = new Map();
a.set(1,2);
a.set(3,4);
a.set('man','good');
a.set('4','hi');
for (var [x,y] of a){
    console.log(x+' '+y);
}

当我编写上面的代码时,我得到的输出如下:-

1 2
3 4
man good
4 hi

但是当我用 typeof x 替换 console.log 时,它只显示最后一个 x 的 typeof,即 4。为什么它会跳过其余三个???

var a = new Map();
a.set(1,2);
a.set(3,4);
a.set('man','good');
a.set('4','hi');
for (var [x,y] of a){
    typeof x;
}

输出:-

'string'

最佳答案

typeof 不记录任何内容。您应该使用console.log()。老实说,我真的不知道发生了什么事,但你永远没有任何理由关心这个。您不能依赖于此来进行日志记录。我确实尝试过这个尝试并理解隐式日志记录是如何工作的,它似乎只记录 for 循环的最后一个值。

> x = [1,2,3,4]
[ 1, 2, 3, 4 ]
> for (let i of x) i
4

关于javascript - typeof x 仅在 for ... of 循环中使用时给出一个结果,即最后一个值结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42572411/

相关文章:

javascript - 如何使用变量从对象的第n个子键中获取值?

javascript - Javascript 中的字符串 <-> 数字转换

javascript - 限制Firebase与Electron App通信

javascript - html 文本框中只输入一位小数

javascript - DOM 准备好后,onLoad 总是会被触发吗?

javascript - Protractor -ScriptTimeoutError : asynchronous script timeout: result was not received in 20 seconds

javascript - 幻灯片更改后淡入对象

javascript - 从 json 数组中删除未定义的键

JavaScript 对象尺寸

javascript - 只有当所有代码都在一行上时,AJAX 请求才能正常运行