JavaScript-de ýerlikli funksiýa çagyryşy
Indi biz funksiýany has döredilýän ýerinde çagyrmaga mümkinçilik berýän usuly gözden geçireris. Beýle konstruksiýa Immediately Invoked Function Expression (IIFE) diýilýär.
Geliň bir mysal görüň. Bizde şeýle bir funksional ifade bolsun:
let func = function() {
console.log('!');
};
func(); // '!' görkezer
Indi geliň funksiýamyzy üýtgeýjä belläp durmadyk, eýsem ony derrew, "ýerinde" çagyraly. Munuň üçin funksiýadan soň aýlawly möýşürt goýýarys:
+function() {
console.log('!'); // '!' görkezer
}();
Bu ýagdaýda "+" nyşanynyň bolmagy hökmany şertdir, sebäbi onsuz funksiýa Function Declaration bolup biler, olary ýerinde (hem-de ady bolmazdan) çagyryp bolmaýar. Elbetde, "+" ýerine islenen zat bolup biler, - esasy, bizim funksiýamyzyň funksional ifade bolmagydyr.
Kody işletmezden, konsol näme görkezerligini kesgitläň:
!function() {
console.log('!');
}();
Kody işletmezden, konsol näme görkezerligini kesgitläň:
function() {
console.log('!');
}();