【发布时间】:2015-08-11 02:17:21
【问题描述】:
我的问题是,在使用JSON.stringify 和JSON.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 Array 进行字符串化并将其存储到 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 不是函数。
问题出在哪里?感谢您的帮助。
【问题讨论】:
-
你不能将函数序列化为 JSON - 没有这样的东西。
标签: javascript json cordova requirejs local-storage