익명 함수는 이름이 없는 함수입니다. 예:
함수(){
alert(' a function');
}
그러나 위 코드는 오류를 보고합니다. 방화범 프롬프트: 함수 명령문에는 이름이 필요합니다. 즉, 함수에는 이름이 있어야 합니다.
이상한 점은 이 이름 없는 함수를 () 쌍으로 묶으면 오류가 보고되지 않는다는 것입니다. 예:
(함수(){
alert( 'a function');
})
(함수를 감싸는 ()!)에 주의하세요. 이는 오류를 보고하지는 않지만, 함수가 성공적으로 선언되었습니까? 오류가 보고되지 않는다는 진술이 전혀 없기 때문인가요? 다음과 같이 테스트해 보겠습니다. 함수가 한 번만 실행되도록 하세요.
( function (){
alert('a function');
}())
보시다시피 함수가 실행되어 함수가 실행되었음을 나타냅니다. 존재합니다.
마찬가지로 이때 함수를 감싸는 ()를 제거하면 이전 오류가 계속 보고되고 함수가 실행되지 않습니다. . .
함수(){
alert( '함수');
}()
이것이 () 래핑 함수에 그렇게 중요할까요? 전문가가 원리를 설명할 수 있나요?