I saw an interview question online:
function b() {
b = 5
console.log(b) // 5
}
b()
console.log(b) // 5
var a = 20
var c = (function a() {
a = 10
console.log(a) // f a() { a = 10; console.log(a) }
})()
console.log(a) // 20
Why does console.log(a)
print function a() { a = 10; console.log(a) }
instead of 10
?