JavaScript 객체의 변수 "이름" 동작 불일치
JavaScript에서 변수 이름은 문자열 값으로 특별한 역할이 할당되었습니다. 창 개체(window.name). 이 고유한 특성으로 인해 JavaScript 개체와 함께 이름을 사용할 때 예기치 않은 동작이 발생할 수 있습니다.
전역 스크립트로 실행되는 다음 코드 조각을 고려하세요.
var name = {}; name.FirstName = 'Tom'; alert(name.FirstName);
Chrome에서 이 코드는 다음을 생성합니다. 경고가 표시되면 "정의되지 않음"이 표시되지만 IE 및 Firefox에서는 FirstName 속성에 액세스할 수 있으며 "Tom"이 표시됩니다.
이러한 불일치 Chrome이 window.name을 문자열로 명시적으로 강제하기 때문에 발생합니다. 결과적으로 var name = {} 할당은 기본적으로 전역 변수 이름(window.name)을 "[object Object]"로 설정합니다. name은 이제 기본 요소이므로 name.FirstName과 같은 속성을 설정하려는 시도는 효과가 없습니다.
이 문제를 해결하려면 name을 전역 변수로 사용하지 마세요. 다른 변수 이름을 할당하면 window.name과 관련된 고유한 동작이 실수로 트리거되지 않도록 할 수 있습니다.
위 내용은 `var name = {}`을 할당하면 브라우저마다 다른 결과가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!