我正在开发一个大量使用 JavaScript 的应用程序。我试图包括一些面向对象的实践。在这次尝试中,我创建了一个像这样的基本类:
function Item() { this.init(); }
Item.prototype = {
init: function () {
this.data = {
id: 0,
name: "",
description: ""
}
},
save: function() {
alert("Saving...");
$.ajax({
url: getUrl(),
type: "POST",
data: JSON.stringify(this.data),
contentType: "application/json"
});
}
}
我在我的应用程序中创建 Item 实例,然后将它们保存到本地存储,如下所示:
Item item = new Item();
window.localStorage.setItem("itemKey", JSON.stringify(item));
在另一个页面上,或者在另一个时间,我正在从本地存储中检索该项目,如下所示:
var item = window.localStorage.getItem("itemKey");
item = JSON.parse(item);
item.save();
不幸的是,似乎没有达到“保存”功能。在控制台窗口中,有一条错误提示:
*save_Click(匿名函数)onclick*
我有一种预感,“(匿名函数)”是控制台窗口的表达方式“调用 item.save(),但 item 是匿名类型,所以我正在尝试访问匿名函数”。我的问题是,我不确定如何再次将“var item”转换为 Item 类实例。有人可以告诉我吗?