예 를 들 어:~function(){alert("hello,world");}();[Ctrl+A 전체 주석:]이 코드 의 뜻 은 함 수 를 설명 한 다음 에 바로 실행 하 는 것 입 니 다.자바 script 의 변수 역할 영역 은 함수 에 기반 한 것 이기 때문에 변수 오염 을 피 할 수 있 습 니 다.그러나 여기 의 비트 연산 자"~"언뜻 보기 에는 종 잡 을 수 없습니다.이 를 제거 하고 실행 하면 오류 가 발생 합 니 다:SyntaxError.왜 그런 지 설명 하기 전에 자 바스 크 립 트 의 두 가지 개념 을 명 확 히 합 시다.함수 성명 과 함수 표현 식:함수 성명 이 어떤 것 인지 먼저 봅 시다.function(){alert("hello,World");};function foo() { alert("hello, world."); }; [Ctrl+A 전체 주석:]함수 표현 식 이 어떤 것 인지 다시 봅 시다:var foo=function(){alert("hello,world");};script>[Ctrl+A 전체 주석:]이제 글 의 시작 문 제 를 살 펴 보 겠 습 니 다.왜 비트 연산 자"~"를 제거 하고 실행 하면 오류 가 발생 합 니까?문법 해석 의 측면 에서 볼 때 자바 script 은 함수 성명 뒤에 작은 괄호 를 직접 사용 할 수 없 기 때 문 입 니 다.함수 표현 식 은 이 제한 이 없습니다.함수 성명 앞 에"~"연산 자 를 추가 합 니 다.문법 해석 기 가 뒤 를 함수 표현 식 으로 볼 수 있 습 니 다.마찬가지 로 함수 성명 앞 에"!,+,-"를 추가 할 수 있 습 니 다.조작 부 호 를 기다 리 는 것 도 가능 하 다.그럼 우 리 는 왜 아래 의 이런 함수 표현 식 방식 을 사용 하지 않 습 니까? var foo = function() { alert("hello, world."); }(); [Ctrl+A 전체 선택:]문법 해석 의 측면 에서 볼 때 문제 가 없 지만 위의 코드 에 단점 이 있 습 니 다.변 수 를 도입 하여 기 존의 운영 환경 을 오염 시 키 고 잠재 적 인 문 제 를 가 져 올 수 있 습 니 다.비트 연산 자"~"를 사용 하 는 방법 은 다소 기이 하고 음탕 해 보 입 니 다.사실 함수 성명 을 작은 괄호 로 묶 으 면 읽 기 쉽 습 니 다.(function(){alert("hello,World");}();script>[Ctrl+A 전체 주석:]원 리 를 알 게 되 었 습 니 다.어떤 글 씨 를 써 도 더 이상 종 잡 을 수 없습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: