var a = function b() {
};
console.log(typeof b); //gives undefined
console.log(typeof a); //gives function
为什么两个输出不同?
我理解函数表达式和函数语句之间的区别,但无法理解上面的输出。
据我所知,javascript 使 var a
指向此处分配给命名函数 b 的内存。在这种情况下 typeof b
也应该返回 function
但它返回 undefined
有什么解释吗?
最佳答案
因为命名函数表达式的名称在表达式范围内。
var a = function b() {
console.log(typeof b); //gives function
console.log(typeof a); //gives function
};
console.log(typeof b); //gives undefined
console.log(typeof a); //gives function
a();
关于javascript - 函数语句与函数表达式奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42456251/