Javascript 对象属性没有';t从函数更新
我有一个全局声明的空对象。在函数内部saveBookmarks我试图向对象添加一些值。但在函数之外,objectusersBookmarks不保存值。问题是什么?如何解决?多谢各位Javascript 对象属性没有';t从函数更新,javascript,jquery,function,object,Javascript,Jquery,Function,Object,我有一个全局声明的空对象。在函数内部saveBookmarks我试图向对象添加一些值。但在函数之外,objectusersBookmarks不保存值。问题是什么?如何解决?多谢各位 var usersBookmarks = {}; $('#upload').click(function () { chrome.bookmarks.getTree(function (bookmarks) { saveBookmarks(bookmarks); }); v
var usersBookmarks = {};
$('#upload').click(function () {
chrome.bookmarks.getTree(function (bookmarks) {
saveBookmarks(bookmarks);
});
var noChildren = false;
function saveBookmarks(bookmarks) {
if (noChildren === false) {
bookmarks.forEach(function (bookmark) {
if (bookmark.children) {
saveBookmarks(bookmark.children);
} else {
noChildren = true;
usersBookmarks.user.bookmarks = {
"id" : bookmark.id,
"title" : bookmark.title,
"dateAdded" : bookmark.dateAdded
};
}
});
}
} //end of saveBookmarks function
document.getElementById('root').innerHTML = usersBookmarks;
});
您必须使用推送方法。多个项应存储在数组中,而不是对象中
usersBookmarks.user.bookmarks.push( {
"id": bookmark.id,
"title": bookmark.title,
"dateAdded": bookmark.dateAdded
});
好的,我已经解决了这个问题。我刚刚写了一个函数,我需要在函数内部if语句中如何解释“函数外部[it]不保存更改”?因为
…innerHTML=usersBookmarks
?嗯……当物体还是空的时候,这种情况只发生一次。如果确实向对象添加了某些内容,它将不会更新。