Page 69 - 6105
P. 69
alert ( "Ви скасували виконання.");
}
// використання
ask ( "Ви згодні?", showOk, showCancel);
При роботі зі сторінкою функції опитування є дуже затребувані, тільки ось
запитують вони не простим confirm, а виводять більш гарне вікно з питанням і
можуть інтелектуально обробити введення відвідувача. Запишемо цей приклад
більш коротко:
function ask (question, yes, no) {
if (confirm (question)) yes ()
else no ();
}
ask (
"Ви згодні?",
function () {alert ( "Ви погодилися."); },
function () {alert ( "Ви скасували виконання."); }
);
Тут функції оголошені прямо всередині виклику ask (...), навіть без
присвоєння їм імені. Функціональний вираз, який не записується в змінну,
називають анонімною функцією.
Існує ще один спосіб створення функції, який використовується дуже рідко.
Він дозволяє створювати функцію повністю «на льоту» з рядка, ось так:
var sum = new Function ( 'a, b', 'return a + b;');
var result = sum (1, 2);
alert (result); // 3
Тобто, функція створюється викликом new Function (params, code):
рarams – параметри функції через кому у вигляді рядка,
code – кд функції у вигляді рядка.
68