예상 결과는 인터넷에서 실수 로이 문제를 발견했을 때 실제 결과와 매우 다릅니다.
var a = {n : 1} var b = a; ax = a = {n : 2} console.log (ax); Console.log (BX); undefinedObject {n : 2}내가 분해하면 결과는 내가 생각한 것입니다
var a = {n : 1} var b = a; a = {n : 2}; ax = {n : 2} console.log (ax); // object {n : 2} console.log (bx); // 정의되지 않았습니다분석 :
ax = a = {n : 2}
JS의 할당 작업은 AX = (a = {n : 2}와 동일합니다.
JS의 평가 작업은 왼쪽에서 오른쪽으로 (PS : 동료와 논의 된 그는 그것이 왼쪽에서 오른쪽으로라고 말했고, 나는 그것이 오른쪽에서 왼쪽에서 왼쪽으로 생각했지만 결국 나는 내가 틀렸다는 것을 알았습니다).
1) AX = (괄호 안의 최종 결과)
a의 x 속성이 존재하지 않는 것을 찾은 후에는 a를 가리키는 객체에 속성 x를 추가하십시오. 이 X 속성은 결과를 할당해야합니다. 좋아, 결과를 기다릴게.
2) 결과를 괄호로 얻으려면 AX가 괄호가 반환 될 결과가 계속 기다리고 있으므로 A = {N : 2}를 평가 한 다음이 새로운 속성 X로 반환합니다.
3) 괄호 안에서 a = {n : 2}로 돌아 가면, 포인팅 변화가 발생했습니다.
위의 연속 JS 할당의 간단한 구현은 내가 공유하는 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.