JavaScripts push()不起作用

时间:2018-08-03 19:21:27

标签: javascript

JavaScript的push()不起作用-它仅显示:

  

类型错误:bookmarks.push()不是函数

这是我的JavaScript代码:

if(localStorage.getItem('bookmarks') === null){
    // Init array
    var bookmarks = [];
    // Add to array
    bookmarks.push(bookmark);
    // Set to localStorage
    localStorage.setItem('bookmarks', JSON.stringify(bookmarks));
  } else {
    // Get bookmarks from localStorage
    var bookmarks = JSON.parse(localStorage.getItem('bookmarks'));
    // Add bookmark to array
    bookmarks.push(bookmark);//This is where it shows the error
    // Re-set back to localStorage
    localStorage.setItem('bookmarks', JSON.stringify(bookmarks));
  }

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

除非您完全了解后果,否则应避免在if / else子句中声明带有var的变量,在这种情况下,声明应置于函数作用域内。

使用let关键字声明变量或将变量声明移至函数作用域。

参考:Defining JavaScript variables inside if-statements