Page 67 - 6105
P. 67
оголошення – це зручно, так як дає більше свободи в тому, як організувати свій
код. Можна розташувати функції внизу, а їх виклик - зверху або навпаки.
У деяких випадках «додаткова зручність» Function Declaration може мати
негативні наслідки. Наприклад, необхідно, залежно від умови, оголосити функцію
sayHi по-різному:
var age = + prompt ( "Скільки вам років?", 20);
if (age> = 18) {
function sayHi () {
alert ( 'Прошу вас!');
}
} Else {
function sayHi () {
alert ( 'До 18 не можна');
}
}
sayHi ();
Function Declaration при use strict видно тільки всередині блоку, в якому
оголошено. Так як такий код виконується в режимі use strict, то буде помилка.
А що, якщо використовувати Function Expression?
var age = prompt ( 'Скільки вам років?');
var sayHi;
if (age> = 18) {
sayHi = function () {
alert ( 'Прошу Вас!');
}
} Else {
sayHi = function () {
alert ( 'До 18 не можна');
66