Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象属性没有';t从函数更新_Javascript_Jquery_Function_Object - Fatal编程技术网

Javascript 对象属性没有';t从函数更新

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

我有一个全局声明的空对象。在函数内部saveBookmarks我试图向对象添加一些值。但在函数之外,objectusersBookmarks不保存值。问题是什么?如何解决?多谢各位

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
?嗯……当物体还是空的时候,这种情况只发生一次。如果确实向对象添加了某些内容,它将不会更新。