输出是什么?
javascript
let c = { greeting: 'Hey!' }
let d
d = c
c.greeting = 'Hello'
console.log(d.greeting)A. Hello B. undefined C. ReferenceError D. TypeError
答案: A
解析:
输出是 'Hello'。
在这段代码中,变量 c 是一个对象,并且变量 d 与 c 引用同一个对象。当我们将 c 赋值给 d 时,它们引用的是同一个对象,在内存中只有一个对象存在。
因此,当我们修改 c.greeting 的值为 'Hello' 时,实际上也修改了原始对象,而 d 引用的仍然是该对象。所以,最后打印 d.greeting 的值时,会输出 'Hello'。