Pau*_*eit 1 javascript javascript-objects
我想在JS中制作一种"购物清单".我在使用函数的参数访问对象时遇到问题.
shopList = {
create: function createList(listName) {
listName = {};
listName["Banana"] = 2
},
output: function output(listName) {
console.log(listName)
},
};
shopList.create('list')
shopList.output('list')Run Code Online (Sandbox Code Playgroud)
当我运行shopList.output时,返回'list'.如何通过参数访问对象?希望这不是重复,现在谷歌搜索几个小时,并没有取得任何进展.
如果您希望能够使用动态名称配置列表,则需要使用括号表示法在this对象中创建列表.像这样:
var shopList = {
create: function createList(listName) {
this[listName] = {};
this[listName]["Banana"] = 2
},
output: function output(listName) {
return this[listName];
}
};
shopList.create('list');
console.log(shopList.output('list'));Run Code Online (Sandbox Code Playgroud)
但是,正如@armchairdj在评论中指出的那样,最好创建一个容器专用属性来保存列表:
var shopList = {
lists: {},
create: function createList(listName) {
this.lists[listName] = {};
this.lists[listName]["Banana"] = 2
},
output: function output(listName) {
return this.lists[listName];
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |