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

我不太懂js的调用问题

我不太懂js的调用问题

施帅帅 2017-12-28 09:30:19
为啥我这样写出现2个slw,但我od1.getName()一个括号只打印1个slw,求告知
查看完整描述

2 回答

?
拖鞋_

TA贡献453条经验 获得超223个赞

你返回的是个方法

如果只是一个括号  会执行第一个console.log()

然后返回 你return里定义的方法 并没有执行

在加入第二括号后   会执行第一个括号返回的方法

就会打印两个console

查看完整回答
1 反对 回复 2017-12-28
  • 施帅帅
    施帅帅
    我有一点不懂,那他是单独执行这个return定义的方法吗,我 od2.getName(); const od={ name:"slw", getName:function () { console.log(this.name); let s=this; (function () { console.log(s.name); (function () { console.log(s.name); (function () { console.log(s.name); return function () { console.log(1); } })(); })(); })(); } } od.getName()();他也不会输出1,只会报错
  • 施帅帅
    施帅帅
    不好意思无法截图粘贴
?
施帅帅

TA贡献56条经验 获得超30个赞

已明白结贴

查看完整回答
1 反对 回复 2017-12-28
  • 2 回答
  • 0 关注
  • 1796 浏览
慕课专栏
更多

添加回答

举报

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