js의 함수 앞에 !를 추가하는 데 문제가 있습니다. 코드가 첨부되어 있습니다.

亚连
풀어 주다: 2018-05-18 10:18:22
원래의
1330명이 탐색했습니다.

다음은 js의 함수 앞에 !를 추가하는 것에 관해 제가 정리한 질문입니다. 관심 있는 학생들은 한 번 살펴보세요.

우리 모두는 함수를 선언하는 방법이 두 가지 있다는 것을 알고 있습니다

function fnA(){alert('msg');}//声明式定义函数
var fnB = function(){alert('msg');}//函数赋值表达式定义函数12
로그인 후 복사

함수를 호출하는 방법은 대개 FunctionName()입니다

그러나 "함수 정의" 끝에 ()를 추가하려고 하면, 파서는 이해할 수 없습니다.

function msg(){
  alert('message');
}();//解析器是无法理解的123
로그인 후 복사

함수를 정의하는 호출 방법은 msg()여야 합니다. 그러면 함수 본문을 ()로 감싸도 괜찮은 이유는 무엇인가요?

함수 본문을 괄호로 묶으면 파서가 정의된 함수를 함수 표현식 형식으로 호출한다는 사실이 밝혀졌습니다. 즉, 함수를 함수 표현식으로 변환할 수 있는 모든 메서드를 사용하면 파서가 정의된 함수를 올바르게 호출할 수 있습니다. 그리고 !는 그 중 하나이며 + - || ~는 모두 이러한 기능을 가지고 있습니다.

또한 !를 사용하는 것은 습관의 문제일 수 있습니다.

// 这么写会报错,因为这是一个函数定义:
function() {}()
// 常见的(多了一对括号),调用匿名函数:
(function() {})()
// 但在前面加上一个布尔运算符(只多了一个感叹号),就是表达式了,将执行后面的代码,也就合法实现调用
!function() {}()
로그인 후 복사

위는 js의 함수 앞에 !를 추가하는 것에 대해 정리한 문제입니다. 앞으로 도움이 되길 바랍니다.

관련 기사:

JS가 앱과 어떻게 상호 작용하는지 자세히 설명(코드 첨부)

Js apply() 사용에 대해 자세히 설명(코드 포함)

간단하고 이해하기 쉽습니다. 자바스크립트 자습 학습 노트

위 내용은 js의 함수 앞에 !를 추가하는 데 문제가 있습니다. 코드가 첨부되어 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!