【发布时间】:2019-12-06 03:46:30
【问题描述】:
var a;
if (true) {
a = {a: 2};
function a() {}
a.ot = '9';
a = {a: 4};
console.log('1', a);
}
console.log('2', a);
输出是什么
1 {a: 4}
2 {a: 2, ot: "9"}
谁能告诉我为什么?非常感谢
【问题讨论】:
-
编译?无论如何,你期待什么输出?
-
长话短说:这是 634534 个黑魔法陷阱之一,当您不“使用严格”时会发生这种情况;
标签: javascript function var