한 함수에서 다른 함수로 함수를 호출 할 때 적용되는 규칙은 무엇입니까? 나는이 일을했지만 다른 js 파일의 함수가 첫 번째 js 파일에서 인식되지 않는 것 (firefox을 통해 알아 냈다.)으로 문제가되지 않는다고 생각했다.다른 .js 파일에서 javascript 메서드 호출
주문을 처리 할 때 약간의 규칙이나 트릭을 사용해야합니까?
한 함수에서 다른 함수로 함수를 호출 할 때 적용되는 규칙은 무엇입니까? 나는이 일을했지만 다른 js 파일의 함수가 첫 번째 js 파일에서 인식되지 않는 것 (firefox을 통해 알아 냈다.)으로 문제가되지 않는다고 생각했다.다른 .js 파일에서 javascript 메서드 호출
주문을 처리 할 때 약간의 규칙이나 트릭을 사용해야합니까?
이벤트 핸들러에서 함수를 호출 하시겠습니까? 아니면 javascript 파일이로드 될 때 즉시 호출합니까? 이벤트 핸들러에 없으면로드 순서가 중요합니다. 순환 종속성이있는 경우 "DOM 준비 됨"또는 수신기 (window.onLoad
)를 사용하여 초기화 중 일부를 지연해야 할 수 있습니다.
브라우저는 HTML에 나타나는 순서대로 javascript 파일을 구문 분석합니다. 따라서 첫 번째 파일에서 실행 된 함수가 두 번째 파일에있는 함수에 의존하면 작동하지 않습니다. $ (function() {})을 사용하면; 예를 들어 jQuery를 사용하면 javascript가 window 객체에서 onload 이벤트가 발생할 때까지 기다려야합니다. 이렇게하면 페이지의 모든 요소가 실행 전에로드되었는지 확인할 수 있습니다.
어딘가에 전역 범위에서 액세스 할 수 있어야합니다. 예를 들어 :
// file1.js
$(function() {
function hello() {
alert("Hello, world!");
}
// ...
});
// file2.js
$(function() {
hello();
});
hello
만 file1.js
에 정의 된 폐쇄의 범위에 :
// file1.js
function hello() {
alert("Hello, world!");
}
// file2.js
$(function() {
hello();
});
가능성,이 같은 있습니다. 따라서, file2.js
에 액세스하기 위해, 당신은 어딘가로 내보낼해야 할 위치 file2.js
그것을 얻을 수 있습니다 :
// file1.js
$(function() {
function hello() {
alert("Hello, world!");
}
window.hello=hello;
});
// file2.js
$(function() {
hello();
});
, 함수가 전에로드해야합니다 정의 구문 분석 및 실행되는 스크립트 함수는 다른 스크립트에서 호출 할 수 있습니다.
마지막 2 줄은 나에게 소중했다. 고맙습니다 –
그래서 이벤트 처리기에서 오는 경우 걱정하지 않아도됩니다 ?? – leora