当我更改属性值时,JS对象行为是不同的

时间:2015-12-02 18:54:10

标签: javascript

我是JS的新手,并试图自己学习。使用下面的代码 -

var me = {
    name: {first:"justin"}
},
name = me.name;

name = {first: "alexis"};

为什么document.write(me.name.first + "</br>");会返回justin

为什么document.write(this.name.first);不会返回任何内容?

请你能解释一下吗?

谢谢, 我

1 个答案:

答案 0 :(得分:1)

只需将变量名称name更改为其他字符串,例如:n。一切都会很完美。

var me = {
   name: {first:"justin"}
},
n = me.name;

n = {first: "alexis"};

原因是this.name.first会引用window.name.first。但是window.name在javascript中有特殊用法,必须是一个字符串。