连续分配问题

几天前,我在搜索面试问题时发现了一段代码,它和你想象的不一样。


var = {
N:1
};
var;
内= = { 2 };
console.log(内);
console.log(b.x);




输出结果如下:

未定义

{对象对象}

首先,我们认为应该首先分配一个声明:{ 2 } n,然后分配到N:{ 2 }内;

但事实并非如此,因此它改变了代码并添加了一些日志。


VAR方法;
var = {
获取测试(){
console.log(打得);
回归测试;
},
设置测试(值){
console.log(打一套);
测试=值;
}
}
VaR test2;
var B = {
得到test2(){
console.log(呼叫B);
返回一个;
},
集test2(值){
console.log(呼叫B组);
test2 =价值;
}
}
a.test = { {
N:1
};
b.test2 = a.test;
console.log(开始);
a.test。x = a.test = { 2 };




因此,在开始的后面,这个赋值实际上执行得很清楚。



这是在执行语句时打印的日志。

首先触发get,然后触发集合。触发

我想语句的执行顺序是首先提取左变量并执行赋值。(在执行句子之前,我们首先提取对象引用,然后从右向左分配它)。





这一切都是本文的全部内容。我希望你能喜欢它。