黄舟2017-05-19 10:35:49
오류를 보고하는 것이 아닌가요? 콘솔 정보를 확인하세요.
obj.arr[i] 이 호출은 잘못되었습니다.
obj.arr이 존재하지 않습니다. 정의되지 않았습니다
정의되지 않음[i] 물론 뭔가 잘못될 것입니다
우선, obj와 arr 모두 []를 사용하여 얻을 수 있습니다.
이 예에서 두 방법의 차이점은 다음과 같습니다.
obj[arr[i]]는 arr[를 얻는 것입니다. i] 먼저 그런 다음 obj[]:
obj.arr.[i]는 먼저 obj.arr을 얻은 다음 obj.arr을 통해 [i]를 얻는 것입니다:
으아악 으아악巴扎黑2017-05-19 10:35:49
하나는 객체이고 다른 하나는 완전히 다른 두 가지 데이터 구조인 배열입니다
객체를 횡단하는 데 사용할 수 있습니다
으아악나중에 오류가 보고되지 않는다고 말씀하신 이유는 for 루프의 세 가지 표현식(세미콜론으로 구분된 세 개) 때문입니다. obj.length가 정의되지 않고 false이므로 루프가 시작되지 않습니다. , obj에 길이를 추가해 보세요. 그러면 주기가 시작됩니다
阿神2017-05-19 10:35:49
친구여, 오류가 보고되었습니다...
이유는 다음과 같습니다.
obj[]를 사용하여 수신 문자열을 속성 이름으로 변환합니다. 즉:
obj['name']==obj.name이 반환됩니다. true
그리고 obj.'name'의 도트 구문은 자동으로 obj.name으로 변환되지 않습니다. 즉:
obj.'name'==obj.name error
제대로 이해했는지 모르겠습니다.. .