在下面的代码中,为什么变量foo的内容未定义?我期待我们的IIFE声明回归一些东西!
var foo = (function (){
var a=8;
console.log("hi");
})();
答案 0 :(得分:6)
您正在调用的表达式内部的函数未返回任何值,因此这是未定义foo
的原因。如果它返回了一个值,那么foo
将包含该值。
var foo = (function(){
var a = 8;
console.log("hello");
return "world";
})()
console.log(foo);//world