javascript - 空变量和初始化变量的区别

标签 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);
}

那么创建空变量和初始化变量有什么区别。

谢谢

最佳答案

区别在于字符串连接+=:参见字符串运算符部分here

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

output += `<li>${post.title}</li>`

在另一个示例中,您使用赋值运算符 =:
这会将 li 元素分配给 output - 之前存储在 output 中的任何内容都将丢失:

output = `<li>${post.title}</li>`

关于javascript - 空变量和初始化变量的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58577148/

相关文章:

javascript - 使用圆方程求出 θ 值

javascript - 无法在我的模板中获取发布对象模型

未使用 Moment.js 定义 Javascript 函数

javascript - 如何从异步调用返回响应?

python - Python ctypes 字段中的回调函数

ios - 使用 'Delegation' : Objective-C 在两个 View Controller 之间传递数据

java - 如何在 View 完全渲染后进行回调?

javascript - 使用 JavaScript 时生成 PDF

javascript - 使用回调参数

Jquery:返回之前等待回调