用对象Stringify数组

时间:2015-05-28 14:02:22

标签: javascript json cordova requirejs local-storage

我的问题是,在使用JSON.stringifyJSON.parse后,我无法访问对象的方法。

我有以下内容:

main.js

    var items = [];

    define(['item'], function (item) {

    var main = function () {

    $(document).ready(function) {

    $("#anyButton").on("click", function() {
    items.push(new item());
    items[0].myMethod();    //items[0].myMethod() works fine here.
          });
        });
      }();
    });

item.js

    var item = function () {
        var construnctor,
            that = {};

        constructor = function () {
            return that;
        };

        that.myMethod= function () {
        };

      return constructor.apply(null, arguments);
    };
    return itemModule;

现在我想在main.js中对items数据进行字符串化并将其存储到localStorage:

main.js

window.localStorage.setItem("myKey", JSON.stringify(items));

然后解析回来:

var parsedArray = [];
parsedArray = JSON.parse(window.localStorage.getItem("myKey"));

现在的问题是,我无法访问item.js中的myMethod 以下失败:

parsedArray[0].myMethod();

产生:

  

parsedArray [0] .myMethod不是函数。

问题出在哪里?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

JSON.stringify只会转换值类型属性,数组和对象。

将省略功能。