首页 > 解决方案 > 使用点和括号访问对象属性的区别?

问题描述

我不明白 usingrecord.prop与使用record[prop]内部函数在函数外部提供相同输出时有何不同,如下所示:

var ourDog = {
   "name": "Camper"
};
ourDog.bark = "bow-wow";

function update(record, prop) {
  record.prop = "cannot";
  record[prop] = "woof";
  return record;
}

console.log(update(ourDog, "anotherbark"));

基本上,当我使用点而不是括号时,该属性不会更改为anotherbark,而是保持不变,prop如下面的结果所示:

{
   "name": "Camper",
   "bark": "bow-wow",
   "prop": "cannot",
   "anotherbark": "woof"
}

标签: javascript

解决方案


推荐阅读