对象属性值在代码执行之前更改

时间:2018-04-11 16:54:02

标签: javascript object properties expression console.log

Hy先生感谢您查看我的问题。我正在调查/研究2天以来的事情,我无法找到,为什么它有效,因为它有效。

所以这是代码:

var obj = {
	prop1 : "12",
	prop2 : {
		prop3 : 24,
		prop4 : "mother"
		} 
	}

newObj = obj;
console.log(newObj);
console.log(obj); 
	
newObj.prop2 = 1;

所以我在这里定义了一个对象文字,在构建执行上下文的创建阶段,它将成为当前executionContextObject的变量对象的一个​​键,而不是设置为undefined。

我更改了代码末尾的obj.prop2-s值,但是我在代码的末尾更改了我的console.log()表达式,在表达式之前:“newObj.prop2 = 1 ;”将显示静音属性。

我在这里不明白的是,为什么这个改变 - “newObj.prop2 = 1;”在代码的末尾 - 在解释器到达该行之前发生:“newObj.prop2 = 1;”并且console.log表达式显示了一个更改,它应该在它们之后发生。

感谢您阅读我的问题直到知道。 如果您只是说我应该调查什么主题来了解这种现象,那将非常有帮助。

非常感谢你们

0 个答案:

没有答案