js의 함수 객체는 매력적이지만 너무 유연하기 때문에 종종 혼란스러울 수 있습니다. 아래에 몇 가지 코드를 게시하겠습니다.
대부분의 사람들은 이를 다음과 같이 축약합니다.
function test() {}
책 전체 "JSVAScript Language Essence" 이렇게 작성하세요:
var test = function ( ) {}
함수를 즉시 실행하고 할당할 수 있습니다.
var test = function () {} () // test === 정의되지 않음
var test2 = function () {return 'sugar cake'}() // test2 === 'sugar cake'
그러나 함수 약어는 직접 실행할 수 없습니다. 다음 코드는 오류를 보고합니다.
function test() {}() // SyntaxError: 구문 오류
"()" 연산자는 정상입니다.
( function test () {})();
사실 함수 이름 test 는 의미가 없으므로 제거하면 익명 함수가 되어 함수 본문의 코드를 자동으로 실행할 수 있습니다. . 일반적으로 사용되는 익명 함수 작성 방법:
(function () {} )();
익명 함수는 다음과 같이 작성할 수도 있으며, 이것이 더 "아름답습니다":
(function () {}());
이것 보세요, 처음이에요 브라더 JS 미쳤나요? 내 프로젝트에서 C 언어를 작업하던 한 사람이 익명 함수를 본 후 즉시 겁에 질린 것을 본 적이 있습니다.