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

函数作为返回值,这样理解是对的吗?

函数作为返回值,这样理解是对的吗?

qq_勿忘初心_H 2020-02-14 18:11:31
这里的operate是模块的匿名函数执行之后赋给operate,匿名函数中将operates函数作为返回值,那么下面的1处执行operate(this.title,calculatorElem.formerInput.value,calculatorElem.laterInput.value);时就是在执行operates函数,这样理解对吗?就是这样// 作为返回值function fn(){return function(){console.log(1);}}var newFn=fn(); //fn()返回的是里面的匿名函数,把这个函数赋给变量,通过变量来调用newFn();//调用fn()();
查看完整描述

1 回答

?
橋本奈奈未

TA贡献436条经验 获得超108个赞

看你的表述应该是对的。我还是再解释下:

首先,函数都有返回值,没有return 或者“return; ”等同于"return undefined";

那么一个变量等于一个函数调用即 “var 变量 = 函数(参数)”;意思是执行这个函数,将函数的返回值赋给变量;函数返回的是一个字符串变量就是该字符串,是对象,变量就是该对象的引用,是函数,就是该函数的引用

然后是IIFE看起来你已经知道是怎么回事了,实际上就是立即执行该函数而已

最后是关于引用,JS有值类型和引用类型之分,具体可以搜索看相关文章。

查看完整回答
反对 回复 2020-02-14
  • 1 回答
  • 0 关注
  • 844 浏览
慕课专栏
更多

添加回答

举报

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