yisainan / web-interview

我是齐丶先丶森,收集整理全网面试题及面试技巧,旨在帮助前端工程师们找到一份好工作!更多详见公众号「前端面试秘籍」
MIT License
2.61k stars 507 forks source link

[选择题] 59.(单选题)输出什么 #1037

Open qiilee opened 4 years ago

qiilee commented 4 years ago
const food = ["A", "B", "C", "D"];
const info = { favoriteFood: food[0] };
info.favoriteFood = "E";
console.log(food);
A:['A','B','C','D']
B: ['E','B','C','D']
C: ['E', 'A', 'B','C','D']
D: ReferenceError

答案:A

解析:

我们将 info 对象上的 favoriteFood 属性的值设置为"E"。字符串是原始数据类型。在 javaScript 中,原始数据类型通过值起作用。在这种情况下.我们将 info 对象上的 favoriteFood 属性

性的值设置为等于 food 数组中的第一个元素的值,"A"。字符串是原始数据类型, 并且通过值进行交互,我们更改 info 对象上 favoriteFood 属性的值。food 数组没有改变,因为 favoriteFood 的值只是该数组中第一个元素的值的复制,并且与该元素上的元素没有相同的内存引用 food[0]。当我们记录 food 时,它仍然是原始数组['A','B','C','D']