我认为我的问题是错误的或没有意义,因为我正在寻求更好的方法来提出要点...
我正在学习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);
}
所以创建一个空变量和初始化变量有什么区别。
谢谢
不同之处在于字符串连接+=
:请参见String operators
here部分>>
以下行将把新的li
项目附加到output
由于您希望值的未来值是字符串,所以在代码中使用空字符串作为初始值总是比在应用string related method之前不需要检查要好,否则每次使用时都需要添加检查变量上的字符串方法