Skip to content

输出是什么?

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 是一个对象,并且变量 dc 引用同一个对象。当我们将 c 赋值给 d 时,它们引用的是同一个对象,在内存中只有一个对象存在。

因此,当我们修改 c.greeting 的值为 'Hello' 时,实际上也修改了原始对象,而 d 引用的仍然是该对象。所以,最后打印 d.greeting 的值时,会输出 'Hello'