var obj = function () {
var a = {
publicMethod: function () {
console.log("Self Function");
}
};
console.log("Test");
}();
console.log(obj);//undefine??
为什么这里是undefine??
var obj = function () {
var a = {
publicMethod: function () {
console.log("Self Function");
}
};
console.log("Test");
}();
console.log(obj);//undefine??
为什么这里是undefine??
V8君(JS Runtime)一看到var声明变量加赋值,马上开始执行,结果一看=后面,这TM赋的是个啥值啊?立即执行函数啊?没办法 先执行了这个立即执行函数吧!执行完毕,但这函数啥都没返回,并没有什么卵用嘛!擦!还是不知道这SB人类到底要赋啥值。算了,undefine吧。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
obj的值是function的返回值,由于你的function没有明确指定返回值,所以相当于在 console.log("Test"); 下有return; 因此 obj 的值为 undefine。