JavaScript에서 즉시 호출 된 기능 표현식 (IIFE)을 작성하고 사용하는 방법
iife (즉시 호출 된 함수 표현식)는 괄호 안에 함수를 줄이고 즉시 호출하여 생성 된 즉시 실행되는 함수입니다. 이는 글로벌 네임 스페이스 오염을 방지하고 폐쇄를 통한 개인 범위를 가능하게합니다. (function () { / code /}) ()로 작성되었으며, 이름 지정 또는 화살표 함수를 사용할 수 있으며, 인수 통과를 지원하며, 캡슐화, 안전한 엄격한 모드 사용 및 비동기 초기화를 위해 ES6 모듈 이전에 널리 사용되었지만, 최신 모듈 시스템에서는 사용이 떨어졌지만 .
즉시 호출 된 기능 표현식 (IIFE)은 정의 되 자마자 실행되는 함수입니다. 개인 범위를 생성하고, 글로벌 네임 스페이스를 오염시키지 않으며, 다른 스크립트를 방해하지 않고 안전하게 코드를 실행하는 데 사용되는 JavaScript의 일반적인 패턴입니다.
iife 란 무엇입니까?
iife는 괄호 안에 랩핑 된 기능이며 즉시 그것을 호출하는 또 다른 괄호가 이어집니다. 표현식 (함수 선언이 아님)이기 때문에 글로벌 범위를 오염시키지 않으며 그 변수는 명시 적으로 노출되지 않으면 외부에서 액세스 할 수 없습니다.
기본 구문은 다음과 같습니다.
(기능() { // 코드가 즉시 실행됩니다 }) ();
외부 괄호는 함수를 표현식으로 바꾸고 후로 ()
가 실행합니다.
iife를 쓰는 방법
여러 가지 방법으로 iife를 쓸 수 있지만 가장 일반적인 형태는 익명 기능을 사용합니다.
(기능() { Console.log ( "이것은 바로 실행됩니다!"); }) ();
화살표 기능을 사용할 수도 있습니다 (가독성 과이 this
차이로 인해 덜 일반적이지만) :
(() => { Console.log ( "Arrow iife도 작동합니다!"); }) ();
명명 된 iifes는 기능 이름이 스택 트레이스에 나타나기 때문에 디버깅에 유용합니다.
(함수 myiife () { Console.log ( "나는 이름이 지정된 iife"); }) ();
왜 iife를 사용합니까?
iifes를 사용해야하는 몇 가지 실용적인 이유가 있습니다.
글로벌 가변 오염을 피하십시오
iife 내부에 선언 된 변수는 글로벌 객체 (브라우저의window
같은)에 추가되지 않으므로 이름 지정 충돌을 방지합니다.(기능() { var temp = "개인"; // 임시 외부에 액세스 할 수 없습니다 }) (); // 임시는 여기서 정의되지 않았습니다
개인 변수와 함수를 만듭니다
iife가 만든 클로저를 사용하여 개인 상태를 모방 할 수 있습니다.const counter = (function () { count = 0을하자; 반품 { 증분 : () => count, 감소 : () => -카운트, 값 : () => count }; }) (); counter.increment (); console.log (counter.value ()); // 1
'Strict'또는 라이브러리의 안전한 사용
엄격한 모드를 안전하게 적용하거나 jQuery와 같은 라이브러리에서$
와 충돌을 피하려면 코드를 iife로 감싸십시오.(기능 ($) { // $는 전 세계적으로 재정의 된 경우에도 jQuery로 안전하게 사용할 수 있습니다. $ (document) .ready (function () { Console.log ( "Dom Ready"); }); }) (jQuery);
기다려서 비동기 코드를 실행하십시오
최신 JavaScript에서는 Async Iife를 사용하여 모듈 수준에서 지원하지 않는 환경에서 최상위 수준을 기다릴 수 있습니다.(비동기 기능 () { const response = fetch ( '/api/data'); const data = await response.json (); Console.log (데이터); }) ();
명심해야 할 것들
iifes는 한 번만 실행됩니다.
함수는 표현이어야합니다.
function() {}()
작성하면 함수 선언으로 해석되므로 구문 오류가 발생합니다.논쟁을 iife에 전달할 수 있습니다.
(기능 (이름) { Console.log ( "Hello,"Name); }) ( "Alice");
최신 ES6 코드에서는
let
및const
와 함께 스코프를 차단하고 모듈이 IIFES의 필요성을 줄였습니다. 그러나 그들은 특정 시나리오, 특히 레거시 코드 또는 모듈 배틀러없이 작동 할 때 여전히 유용합니다.
기본적으로 iifes는 캡슐화 및 즉각적인 실행을위한 간단하지만 강력한 도구입니다. 오늘날 모듈의 부상으로 오늘날에는 덜 일반적이지만 레거시 코드와 특정 사용 사례 모두에 대해 이해할 가치가 있습니다.
위 내용은 JavaScript에서 즉시 호출 된 기능 표현식 (IIFE)을 작성하고 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT
더 현명한 결정을 위한 AI 기반 투자 연구

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

이 기사는 JavaScript를 사용하여 이미지를 클릭하는 효과를 얻는 방법을 소개합니다. 핵심 아이디어는 HTML5의 데이터-* 속성을 사용하여 대체 이미지 경로를 저장하고 JavaScript를 통해 클릭 이벤트를 듣고 SRC 속성을 동적으로 전환하여 이미지 전환을 실현하는 것입니다. 이 기사는 일반적으로 사용되는 대화식 효과를 이해하고 마스터하는 데 도움이되는 자세한 코드 예제 및 설명을 제공합니다.

먼저 브라우저가 geolocationapi를 지원하는지 확인하십시오. 지원되는 경우 GetCurrentPosition ()을 호출하여 사용자의 현재 위치 좌표를 얻고 성공적인 콜백을 통해 위도 및 경도 값을 얻으십시오. 동시에 거부 허가, 위치의 이용 불가능 또는 시간 초과와 같은 오류 콜백 처리 예외를 제공하십시오. 또한 구성 옵션을 전달하여 높은 정밀도를 활성화하고 시간 초과 시간 및 캐시 유효성 기간을 설정할 수도 있습니다. 전체 프로세스에는 사용자 승인 및 해당 오류 처리가 필요합니다.

JavaScript에서 반복 간격을 만들려면 SetInterVal () 함수를 사용해야하며, 이는 지정된 밀리 초 간격으로 기능 또는 코드 블록을 반복적으로 실행합니다. 예를 들어, setInterVal (() => {console.log ( "2 초마다 실행");}, 2000)는 ClearInterval (IntervalId)에 의해 지워질 때까지 2 초마다 메시지를 출력합니다. 실제 애플리케이션에서 클럭, 설문 조사 서버 등을 업데이트하는 데 사용할 수 있지만 최소 지연 한도와 기능 실행 시간의 영향에주의를 기울이고 더 이상 메모리 누출을 피할 필요가없는 시간 간격을 정리하십시오. 특히 구성 요소가 제거되거나 페이지가 닫히기 전에이를 확인하십시오

Nuxt3의 구성 API 코어 사용에는 다음이 포함됩니다. 1. DefinePagemeta는 제목, 레이아웃 및 미들웨어와 같은 페이지 메타 정보를 정의하는 데 사용됩니다. 이는 직접 호출해야하며 조건부 진술서에 배치 할 수 없습니다. 2. ASSHEAD는 페이지 헤더 태그를 관리하고 정적 및 반응 형 업데이트를 지원하며 SEO 최적화를 달성하기 위해 DefinePagemeta와 협력해야합니다. 3. USEASYNCDATA는 비동기 데이터를 안전하게 얻고 로딩 및 오류 상태를 자동으로 처리하며 서버 및 클라이언트 데이터 수집 제어를 지원하는 데 사용됩니다. 4. UseFetch는 USEASYNCDATA 및 $ FETCH의 캡슐화로, 요청 키를 자동으로 유추하여 중복 요청을 피하십시오.

Clipboardapi의 WriteText 메소드를 사용하여 클립 보드에 텍스트를 복사하십시오. 보안 컨텍스트 및 사용자 상호 작용에서 호출되어야하며 최신 브라우저를 지원하며 기존 버전은 ExeccCommand로 다운 그레이드 될 수 있습니다.

aniife (즉시 invokedfunctionexpression) isafunctrunsassoonasitis inistlisped, createBywrappingAfunctionInparenthessandmmediestInvokingit, whatepreventSglobalNamesPacePollutionAndenablesPrivatesCopethroughtroscore; itisWrettenas (function () {/cod

theBestatorReateAmulti-linestringInjavaScriptSingStisingStisingTemPlatalswithBackTicks, PRESERVEREAKENXACTLYASWRITENTINGSINGISINGSTINGISINGSTISIGINGSTISIGINSTEMPLATALSWITHTING.

JSON 문자열을 JavaScript 객체에 구문 분석하려면 JSON.PARSE () 메소드를 사용해야합니다.이 메소드는 유효한 JSON 문자열을 해당 JavaScript 객체로 변환 할 수 있으며 중첩 된 개체 및 배열을 구문 분석하지만 잘못된 JSON에 오류가 발생합니다. 따라서 시도를 사용해야합니다 ... 예외를 처리하려면 캐치를 사용해야합니다. 동시에 날짜 문자열을 날짜 개체로 변환하여 안전하고 신뢰할 수있는 데이터 변환을 달성하는 등 두 번째 매개 변수의 재생 함수를 통해 구문 분석 중 값을 변환 할 수 있습니다.
