首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >generat中的Javascript闭包

generat中的Javascript闭包
EN

Stack Overflow用户
提问于 2022-06-16 10:51:28
回答 2查看 34关注 0票数 3
代码语言:javascript
复制
var generateID=function() {
    var prefix="uid-";
    var count=0;

    return function(){
        count+=1;
        console.log(prefix+count)
    }
}
var create = generateID();

console.log(create());
console.log(create());
console.log(create());

预期产出: uid-1 uid-2 uid-3

帮助我在未定义的错误部分输出。

EN

回答 2

Stack Overflow用户

发布于 2022-06-16 10:59:29

创建不返回任何内容,因此如果console.log(create())打印未定义的

代码语言:javascript
复制
var generateID=function() {
    var prefix="uid-";
    var count=0;

    return function(){
        count+=1;
        console.log(prefix+count)
    }
}
var create = generateID();

create()
create()
create()

var generateID2 = function() {
    var prefix="uid-";
    var count=0;

    return function(){
        count+=1;
        return prefix+count
    }
}
var create2 = generateID2();

console.log(create2())
console.log(create2())
console.log(create2())

票数 1
EN

Stack Overflow用户

发布于 2022-06-16 11:00:11

create函数不返回任何值。这就是为什么console.log(create());调用日志undefined的原因。

代码语言:javascript
复制
return function() {
    count+=1;
    return prefix+count;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72644647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档