JavaScript-da funksiýanyň tipini nädip barlamaly
Aşakdaky meselelerde siz berlen funksiýanyň Function Declaration ýa-da Function Expression ýaly kesgitlenendigini anyklamaly bolarsyňyz.
Ýönekeý ýagdaýlarda muny görnükçe ýöndemek kyn däl. Ýöne dogry ýerine ýetirilendigini nädip barlamaly? Function Declaration we Function Expression arasyndaky tapawudy ulanyň: birinjiler, kesgitlenen ýerinden ýokarda çagyrylyp biler, ikinjiler bolsa ýok.
Bizde şeýle bir funksiýa bar diýeliň:
let test = function() {
console.log('!');
}
Bu funksiýa onuň kesgitlenen ýerinden öň çagyralyň:
test(); // konsolde sälik çykarýar, şonuň üçin Function Expression
let test = function() {
console.log('!');
}
Başga bir mysal:
func(); // '!' çykarýar, şonuň üçin Function Declaration
function func() {
console.log('!');
}
Funksiýamyzyň öňüne '+' goşalyň:
func(); // konsolde sälik çykarýar, şonuň üçin Function Expression
+function func() {
console.log('!');
}
Ýokardaky funksiýa Function Expression bolany üçin we hiç bir üýtgeýjä bellinmedigi üçin, onuň ady bilen (func) elýeterli bolmaz we hiç nähili çagyryp bolmaz.
Berlen funksiýanyň Function Declaration ýa-da Function Expression dugdundygyny anyklaň:
let test = function func() {
console.log('!');
}
Berlen funksiýanyň Function Declaration ýa-da Function Expression dugdundygyny anyklaň:
console.log(
function func() {
console.log('!');
}
);
Berlen funksiýanyň Function Declaration ýa-da Function Expression dugdundygyny anyklaň:
+function func() {
console.log('!');
}
Berlen funksiýanyň Function Declaration ýa-da Function Expression dugdundygyny anyklaň:
function func() {
console.log('!');
}