if true / function a / a = 2
var a = 0;
if (true) {
a = 1;
function a() {return 3}
a = 2;
console.log(a); // 2
}
console.log(a); // 1
这题属于未定义行为(见 MDN),实在刁钻,答案并不唯一。但你可以回答「打印 2 和 1」。
运行浏览器不同结果
- Chrome / Edge 运行结果:2、1
- Safari 运行结果:2、2
- Firefox 运行结果:2、1