空变量和初始化变量之间的差异

问题描述 投票:1回答:2

我认为我的问题是错误的或没有意义,因为我正在寻求更好的方法来提出要点...

我正在学习JavaScript中的回调函数

const posts = [
    {title: 'A', body: 'This is Body Of A'},
    {title: 'B', body: 'This is Body Of B'},
    {title: 'C', body: 'This is Body Of C'},
]

而且我正在创建这些帖子:-

function createPosts(post){
    setTimeout(function(){
        posts.push(post);
    },2000);
}

获取它们并显示在html上:

function getPosts(){
    setTimeout(function(){
        let output = ''
        posts.forEach(function(post){
            output += `<li>${post.title}</li>`
        });
        document.body.innerHTML = output;
    }, 1000);
}

在获取帖子中,我将其设置为空,其中列出了所有帖子标题,如果我正在初始化输出,它仅列出一个。

function getPosts(){
    setTimeout(function(){
        let output;
        posts.forEach(function(post){
            output = `<li>${post.title}</li>`
        });
        document.body.innerHTML = output;
    }, 1000);
}

所以创建一个空变量和初始化变量有什么区别。

谢谢

javascript callback
2个回答
1
投票

不同之处在于字符串连接+=:请参见String operators here部分>>

以下行将把新的li项目附加到output


0
投票

由于您希望值的未来值是字符串,所以在代码中使用空字符串作为初始值总是比在应用string related method之前不需要检查要好,否则每次使用时都需要添加检查变量上的字符串方法

© www.soinside.com 2019 - 2024. All rights reserved.