IIFE hauv JavaScript yog dab tsi?
IIFE hauv JavaScript yog dab tsi?

Video: IIFE hauv JavaScript yog dab tsi?

Video: IIFE hauv JavaScript yog dab tsi?
Video: Hmong new song 2016 - Yog dab tsi - Xub Hluav Taws (Official MV) 2024, Kaum ib hlis
Anonim

Ib IIFE (Tam sim ntawd Invoked Function Expression) yog a JavaScript muaj nuj nqi uas khiav sai li sai tau raws li nws tau txhais. Qhov no tiv thaiv kev nkag mus rau cov hloov pauv hauv cov IIFE idiom nrog rau kev ua qias tuaj thoob ntiaj teb.

Hais txog qhov no, kev siv IIFE hauv JavaScript yog dab tsi?

Ib qho tam sim-invoked Function Expression ( IIFE rau cov phooj ywg) yog ib txoj hauv kev los ua haujlwm tam sim ntawd, sai li sai tau thaum lawv tsim. IIFEs muaj txiaj ntsig zoo vim tias lawv tsis ua qias neeg thoob ntiaj teb, thiab lawv yog ib txoj hauv kev yooj yim los cais cov lus tshaj tawm txawv txav.

Tsis tas li ntawd, hoisting hauv JavaScript nrog piv txwv yog dab tsi? Hoisting yog cov JavaScript tus neeg txhais lus qhov kev txiav txim ntawm kev txav txhua qhov sib txawv thiab cov lus tshaj tawm ua haujlwm mus rau sab saum toj ntawm qhov tam sim no. (function() { var foo; var bar; var baz; foo = 1; alert(foo + "" + bar + " " + baz); bar = 2; baz = 3; })(); Tam sim no nws ua rau kev nkag siab vim li cas qhov thib ob piv txwv tsis tau tsim ib qho kev zam.

Hais txog qhov no, peb puas xav tau IIFE hauv es6?

Yog koj ' tab tom siv modules, tsis muaj xav tau siv IIFE (uas yog li no "wrapper" hu ua), vim hais tias txhua qhov sib txawv muaj qhov txwv rau cov module. Txawm li cas los xij, tseem muaj yog qee qhov xwm txheej thaum koj xav cais ib feem ntawm txoj cai los ntawm lwm tus, thiab tom qab ntawd koj ua tau siv IIFE.

Vim li cas IIFE siv?

Lub hauv paus yog vim li cas siv ib IIFE yog kom tau txais cov ntaub ntawv ntiag tug. Vim tias JavaScript's var scopes variables to their containing function, any variables declared in the IIFE tsis tuaj yeem nkag los ntawm lub ntiaj teb sab nraud.

Pom zoo: