为了账号安全,请及时绑定邮箱和手机立即绑定

JS匿名函数执行问题

JS匿名函数执行问题

皈依舞 2019-03-21 18:15:05
var test1 = function() {    console.log('test1');}var test2 = function() {    console.log('test2');}(function() {    return test1;});为什么输出结果是test2
查看完整描述

2 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

因为分号的原因,语句被解释成了这样:


var test1 = function() {

    console.log('test1');

}


var test2 = function() {

    console.log('test2');

}(function() {

    return test1;

});

相当于执行了一次test2函数,把分号补全就正常了。


查看完整回答
反对 回复 2019-04-13
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

不用写分号,这么写能输出test1


var test1 = function() {

    console.log('test1');

}

var test2 = function() {

    console.log('test2');

}

-function() {

    return test1;

}()()


查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 562 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号