1.可以通过声明设置(更新)对象成员的值(使用点表示法或括号表示法),像这样:
person.age = 45;
person["name"]["last"] = "Cratchit";
完整代码:
const person = {
name: ["Bob", "Smith"],
age: 32,
};
person.age = 45;
person["name"]["last"] = "Cratchit";
结果展示:
2. 设置成员并不意味着你只能更新已经存在的属性的值和方法,你也可以创建新的成员。
person["eyes"] = "hazel";
person.farewell = function () {
console.log("再见!");
};
完整代码:
const person = {
name: ["Bob", "Smith"],
age: 32,
};
person.age = 45;
person["name"]["last"] = "Cratchit";
person["eyes"] = "hazel";
person.farewell = function () {
console.log("再见!");
};
结果展示:
3. 括号表示法:不仅可以动态的去设置对象成员的值,还可以动态的去设置成员的名字。假设我们想让用户能够通过在两个文本输入框中输入成员名称和值,在他们的人员数据中存储自定义的值类型。可以像这样获取这些值:
const myDataName = nameInput.value;
const myDataValue = nameValue.value;
把这个新的成员的名字和值加到 person
对象中:
person[myDataName] = myDataValue;
完整代码:
const person = {
name: ["Bob", "Smith"],
age: 32,
};
const myDataName = "height";
const myDataValue = "1.75m";
person[myDataName] = myDataValue;
结果展示:
这是使用点表示法无法做到的,点表示法只能接受字面量的成员的名字,不接受表示名称的变量。