다음은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!