이 문제를 자주 접했고 결국 설명을 요청할 것이라고 생각했습니다. Chrome을 사용하고 자바 스크립트 콘솔을 자주 사용합니다. 전역 변수를 선언 할 때 항상 콘솔에서 해당 내용에 액세스 할 수 있지만 브라우저에서 스크립트가 실행될 때 함수 내부에서 변수에 액세스하려고하면 "정의되지 않은 최상위 '속성을 읽을 수 없습니다"오류가 발생합니다 .자바 스크립트 전역 범위 오역
여기에 코드 조각을 붙여 넣을 것입니다. 누군가 내가 왜이 오류가 발생하는지 설명 할 수 있다면 대단히 감사하겠습니다.
// JavaScript Document
var myglobalvariable;
// ...
$(document).ready(function() {
myglobalvariable = document.getElementsByTagName("article");
// ...
});
function myFunction() {
for (i in myglobalvariable) {
mylocalvariable_top = myglobalvariable[i].style.top; // Error points to this line
// ...
}
}
myFunction은 일반적으로 이벤트 처리기에 의해 호출되어 위에서 언급 한 오류를보고합니다.
for는 객체가 아니라 배열과 함께 사용해야합니다. –
off 주제 : 모든 jQuery 헬퍼를 사용할 수 있지만 아직 사용하지 않으십니까? –
@ DanLee 스크립트에서 jQuery 도우미가 있었지만 실행중인 꽤 성능이 좋은 프로세스였습니다. jQuery 헬퍼에 대한 성능을 살펴 보았습니다. 일부 개발자는 jQuery 선택기를 처리하는 데 시간이 오래 걸린다 고 말했습니다. 그래서 나는 스크립트를 빨리 실행하려고 노력했다. 성능에 대해 자세히 알아 보려면 부분적으로이 방법을 사용하십시오. – Theunis