javascript - 使用点和括号访问对象属性的区别?
问题描述
我不明白 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"
}
解决方案
推荐阅读
- mongodb - MongoDB - 对从 $lookup 收到的数据使用过滤器
- python - 我应该运行一个单独的线程来将模型保存在 Pytorch 中吗
- druid - 如何在几秒钟内使用 unix 时间戳在 druid 中索引文档
- hive - Hive External Table is pointing to old location after altering the location to new path
- java - 如何在 Splunk 7.2.0 中获取 Tomcat 日志?
- php - 命名空间如何在 laravel 路由组内工作
- json - 在 Golang 中从 JSON 解析字符串到枚举
- matlab - 在一个图形 matlab 中并排绘制每天的数据
- python - 如何在 python 或 matplotlib 中为非常小的值绘制条形图?
- css - 无法使用 css 将静态文件(图像)设置为背景