返回函数的函数-Javascript

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (28)

片段一:

function a() {

    alert('A!');

    function b(){
        alert('B!'); 
    }

    return b();
}

var s = a();
alert('break');
s();

输出:

A!
B!
break

片段2

function a() {

    alert('A!');

    function b(){
        alert('B!'); 
    }

    return b;
}

var s = a();
alert('break');
s();

输出:

A!
break
B!

bb()在上面的片段里有什么区别吗??

提问于
用户回答回答于

将变量赋值给函数(不带括号)复制对函数的引用。将括号放在函数名称的末尾,调用函数,返回函数的返回值。

演示

function a() {
    alert('A');
}
//alerts 'A', returns undefined

function b() {
    alert('B');
    return a;
}
//alerts 'B', returns function a

function c() {
    alert('C');
    return a();
}
//alerts 'C', alerts 'A', returns undefined

alert("Function 'a' returns " + a());
alert("Function 'b' returns " + b());
alert("Function 'c' returns " + c());

在你的示例中,你还定义了函数中的函数。例如:

function d() {
    function e() {
        alert('E');
    }
    return e;
}
d()();
//alerts 'E'

函数仍然可以调用。它仍然存在。这一直在JavaScript中使用。函数可以传递只是和其他价值观一样。考虑以下几点:

function counter() {
    var count = 0;
    return function() {
        alert(count++);
    }
}
var count = counter();
count();
count();
count();

函数计数可以保持在它之外定义的变量。这就是所谓的终结。它在JavaScript中也使用了很多。

热门问答

快照容量与费用的比例?如何关闭停用?

帅的惊动我国计算机大神
推荐已采纳
快照已于2019年1月22日0时启动正式商业化进程,商业化后所有存量快照和新产生的快照将根据快照使用的存储容量进行收费。 在快照商业化后,腾讯云仍旧会在国内主要地域为用户提供一定量的免费额度。免费额度策略如下: 免费额度覆盖范围为中国大陆地域,中国香港及海外地域暂无免费快照额...... 展开详请

对象存储数据三副本问题,谢谢 ?

波斯狗儿对象存储产品经理
推荐已采纳

1 COS 不完全使用副本的方式保存,数据调度能力属于我们的产品核心竞争力,具体实现方式一般不披露。

2 副本对用户是不感知的,COS 是一个最终一致性的存储,如果发起删除导致数据丢失,所有的数据都会被删除。

cvm用户退租以后,什么时间数据会被抹掉?

推荐已采纳

包年包月到期不交钱,7天后抹掉。

购买短时长的的,退租立刻抹掉。

准备开通企业档案云存储,分级授权低级”在线查阅权“,中”上传、编辑名称、移动“、高级”全部操作“?

许金泉

腾讯 · 高级工程师 (已认证)

腾讯云COS前端开发
推荐
可以通过存储桶权限配置里的 Policy权限设置。 查阅是 name/cos:GetObject 和 name/cos:HeadObject 修改如果是调用简单上传是 name/cos:PutObject 全部操作是 name/cos:*... 展开详请

语音识别中‘InvalidParameterValue.ErrorInvalidVoicedata?

腾讯云智能语音服务员

腾讯 · 社区FAQ (已认证)

推荐

这边如果无法确定音频数据的准确性,建议使用SourceType(语音数据来源)为0,即语音URL的方式进行音频数据的传输。可将音频数据放在腾讯云对象存储的服务上,然后在Url参数上填写公网可下载的音频,发送请求进行识别。

通过APP上传的图片到对象存储,缩略图的处理最佳建议是什么?

许金泉

腾讯 · 高级工程师 (已认证)

腾讯云COS前端开发
推荐

所属标签

扫码关注云+社区