请问为什么没赋值给变量直接调用跟赋值变量调用变量结果不一样?
function fn1(){ var i = 0; function fn2(){ console.log(++i) } return fn2; } console.log(fn1()); // function fn2(){} var num = fn1(); num(); // 1
27
收起
正在回答
2回答
注意了var num = fn1();这里的等号后面,不是函数名,是函数调用,这句话会先执行等号后面的函数调用,返回函数fn2,然后赋值给变量num,变量num指向的是fn2函数的内存地址。调用num,等同于调用fn2函数
HTML5&CSS3进阶与常用框架 2018
- 参与学习 315 人
- 提交作业 136 份
- 解答问题 626 个
如果你有H5、CSS3、JS基础,热爱前端并希望在前端应用方面不断进步,那就来吧,本路径为你带来的课程有HTML5进阶、CSS3进阶、JS面向对象、jQ基础、Less等,助你进一步提升前端开发技能
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星