空变量和初始化变量之间的区别

时间:2019-10-27 06:46:18

标签: javascript callback

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

我正在学习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);
}

那么制作一个空变量和初始化变量有什么区别。

谢谢

2 个答案:

答案 0 :(得分:1)

区别在于字符串串联quote.price:请参见+= here

部分

以下行会将新的String operators项目附加到li

output

在另一个示例中,您使用分配运算符output += `<li>${post.title}</li>`
这会将=元素分配给li-丢失之前存储在output中的任何内容:

output

答案 1 :(得分:0)

由于您希望值的将来值是字符串,因此在代码中使用空字符串作为初始值总是比在应用string related method之前不需要进行检查总是要好,否则您需要在每个在变量上使用字符串方法的时间

gcc