varobj=function(){vara={publicMethod:function(){console.log("SelfFunction");}};console.log("Test");}();console.log(obj);//undefine??为什么这里是undefine??
2 回答
千万里不及你
TA贡献1784条经验 获得超9个赞
obj的值是function的返回值,由于你的function没有明确指定返回值,所以相当于在console.log("Test");下有return;因此obj的值为undefine。
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
V8君(JSRuntime)一看到var声明变量加赋值,马上开始执行,结果一看=后面,这TM赋的是个啥值啊?立即执行函数啊?没办法先执行了这个立即执行函数吧!执行完毕,但这函数啥都没返回,并没有什么卵用嘛!擦!还是不知道这SB人类到底要赋啥值。算了,undefine吧。
添加回答
举报
0/150
提交
取消