为什么会输出3个10?

function a(){

    var i=10;

    b=function(){return i++;};

    return i;

}


console.log(a(),b(),a());// 10 10 10

尤其是为什么第三个还是10? i++怎么没起作用? 感谢

慕田峪4524236
浏览 491回答 1
1回答

泛舟湖上清波郎朗

第一个a(),直接return i 为10;第二个b(),return i++,此时i的值是10,所以先return,再自增,输出10并且i为11;第三个a(),重新定义了i=10,所以return 为10。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript