我正在尝试学习 javascript,并且正在尝试找出项目的本地存储。但首先我认为我需要通过我的团队构造函数以编程方式构建 key 。
var Team = function(team, manager, cell, add1, add2, city, st, zip, sponsor) {
this.team = team;
this.manager = manager;
this.cell = cell;
this.add1 = add1;
this.add2 = add2;
this.city = city;
this.st = st;
this.zip = zip;
this.sponsor = sponsor;
};
这是我构建的表单,现在我想构建本地存储。这是我失败的尝试:
function saveTeam() {
for (var i = 0; i < Team.length; i++) {
localStorage["league." + i "." + javascriptNameOfProperty ] = $('#'+ javascriptNameOfPropertyName + ').val() };
或者类似的东西。我试过“property”、“key”和其他我试过的不适用于 javascriptNameofProperty。当然,一旦我想通了,我就必须弄清楚本地存储。
最佳答案
在这种情况下,您可以使用对象字面量而不是构造函数(我在您发布的代码中看不到构造函数的任何原因,您应该使用 new
实例化对象,你不是)。考虑使用它(假设您传递给 Team
的所有变量都已定义):
var team = {
team : team,
manager : manager,
cell : cell,
add1 : add1,
add2 : add2,
city : city,
st : st,
zip : zip,
sponsor : sponsor
}
这可以用下面的代码迭代:
for(var key in team) {
localStorage["league." + key] = team[key];
}
我认为这并没有完全按照您的原始代码尝试执行的操作,但不清楚您是否有多个团队、它们是如何创建的以及它们是如何使用的。我希望这会有所帮助。
关于javascript - 以编程方式从构造函数中检索属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11747683/