Ֆունկցիայի ձախ արտահայտությունը JavaScript-ում
Դիտարկենք հետևյալ կոդը.
javascript+function func() {
console.log('!');
}
Ինչպես արդեն գիտեք, այս ֆունկցիան ֆունկցիոնալ արտահայտություն է, չնայած որ այն ունի անուն (մենք արդեն պարզել ենք, որ անունի առկայությունը ընդհանրապես չի հանդիսանում չափանիշ): Հանենք այս գումարածը - և կստանանք Function Declaration.
javascriptfunction func() {
console.log('!');
}
Եկեք տողի սկզբում դնենք + -
այն նորից կդառնա Function Expression.
javascript+
function func() {
console.log('!');
}
Իսկ այժմ գումարածից հետո դնենք 1
թիվը և ստորակետ - մեր ֆունկցիան կդառնա Function
Declaration.
javascript+1;
function func() {
console.log('!');
}
Ինչու է այդպես. որովհետև առաջին տողում գրված է մեկ ավարտված հրաման, որը փակված է ստորակետով։ Ուստի այս հրամանը ոչ մի կերպ չի ազդում մեր ֆունկցիայի վրա։
Իրականում ստորակետը կարելի է հեռացնել, քանի որ JavaScript-ում այն պարտադիր չէ - ֆունկցիան ամեն դեպքում կմնա Function Declaration.
javascript+1
function func() {
console.log('!');
}
Բայց եթե 1-ից հետո ավելացնենք ևս մեկ
գումարած, ապա ֆունկցիան կդառնա Function Expression.
javascript+1+
function func() {
console.log('!');
}
Ինչու է այդպես. որովհետև առաջին տողում կա չավարտված արտահայտություն - դրված է գումարած և դրանից հետո ոչինչ։ Ուստի JavaScript-ի ինտերպրետատորը համարում է, որ այդ գումարածը վերաբերում է ներքևի տողին, այսինքն՝ մեր ֆունկցիային։
Եթե առաջին տողում դրված է ավարտված արտահայտություն, ապա JavaScript-ը ավտոմատ կերպով դնում է դրան ստորակետ և այս արտահայտությունը ոչ մի կերպ չի ազդում մեր ֆունկցիայի վրա։
Որոշեք՝ արդյոք ներկայացված ֆունկցիան Function Declaration է, թե Function Expression.
javascript-
function func() {
console.log('!');
}
Որոշեք՝ արդյոք ներկայացված ֆունկցիան Function Declaration է, թե Function Expression.
javascript-1;
function func() {
console.log('!');
}
Որոշեք՝ արդյոք ներկայացված ֆունկցիան Function Declaration է, թե Function Expression.
javascript-1
function func() {
console.log('!');
}
Որոշեք՝ արդյոք ներկայացված ֆունկցիան Function Declaration է, թե Function Expression.
javascript1
function func() {
console.log('!');
}
Որոշեք՝ արդյոք ներկայացված ֆունկցիան Function Declaration է, թե Function Expression.
javascript-1-
function func() {
console.log('!');
}