2016-06-17 4 views
0

콘솔 안녕하세요 세상을 출력 할 것이다,이 샘플에서는 jQuery .ready() 함수가 모든 함수 표현식을 호스팅합니까? 여기

$(document).ready(function(){ 
    printHelloworld(); 
});  
var printHelloworld = function(){ 
    console.log('hello world'); 
} 

jQuery를

의 의사 코드이다.

제 질문은 함수 식을 사용하기 전에 할당해야한다는 것입니다.하지만이 예제에서는 할당하기 전에 printHelloworld()를 사용했습니다. .ready() 함수가 무엇을했는지 모르겠습니다. 기능을 끌어 올리는 데 뭔가 도움이 되었습니까?

+0

이름에서 알 수 있듯이 문서 준비가 완료되면 문서 준비 기능이 실행됩니다. 그때까지는 printHelloworld에 대한 액세스 권한을 가지므로 전역으로 선언됩니다. https://learn.jquery.com/using-jquery-core/document-ready/를 확인하십시오. –

+0

이 기능은 취소되었지만 작동 준비 기능은 모든 문서가로드 된 후에 만 ​​작동합니다. –

답변

0

var은 기능 선언 (또는 스크립트)의 상단에 printHelloworld 기능 선언을 올렸습니다. $(document).ready() 문 다음에 할당 할 때까지 초기화되지 않았지만 ready에 전달 된 익명 함수는 계속 변수에 대한 참조를 보유합니다. 함수가 실행될 때까지 printHelloworld 변수가 초기화되어 사용할 수있었습니다.

볼 : 코드가 실행되기 전에 변수 선언 (그리고 일반적으로 선언) 코드 어딘가에 변수 선언 처리되므로 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var

하는 상단을 선언 동등하다. 이것은 변수가 선언되기 전에 사용 된 것처럼 보일 수도 있음을 의미합니다.