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

哪位大佬知道,关于在javascript里function的两种写法有何不同吗?

哪位大佬知道,关于在javascript里function的两种写法有何不同吗?

MYYA 2021-10-20 18:15:42
我写了两个函数,我认为应该没啥区别,但是执行结果却大有区别。哪位高手帮我解释一下,这两种函数调用为什么会不同?function close(){ var myline=100; return(function(){ return(myline++); }); } console.log(close()); //console output:// funciton() console.log(close()()); //console output:// 100 console.log(close()()); //console output:// 100 //closure example var copyclose=(function(){ var myline=300; return(function(){ return myline++; }); }()); console.log(copyclose()); //console output:// 300 console.log(copyclose()); //console output:// 301 console.log(copyclose); //console output:// function()
查看完整描述

2 回答

?
杨魅力

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

当然不一样了
copyclose定义的时候就执行了。myline
只定义了一次。
而close是没有执行的
执行close()的之后每次都会初始化 myline=300;

查看完整回答
反对 回复 2021-10-24
  • 2 回答
  • 0 关注
  • 296 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信