|
|
|
| Для чего они нужны (когда в них возникает необходимость)? Можно ли в такую функцию передавать параметры? | |
|
|
|
|
|
|
|
для: coloboc66
(10.11.2009 в 10:27)
| | >"Для чего они нужны?"
Обычно их используют тогда, когда безымянные функции нужны одноразово и когда правила синтаксиса подразумевают использовать именно функции.
Например, метод sort ([function]), используемый без функции-параметра, сортирует массив, считая его элементы СТРОКАМИ.
Но можно в этот метод "воткнуть" нужную безымянную функцию, коя будет сортировать элементы, как ЧИСЛА:
<script>
var w = new Array (22, 3, 11, 2, 1);
//массив можно гарантированно задать числами, например так:
//var w = new Array (22 * 1, 3 * 1, 11 * 1, 2 * 1, 1 * 1);
//или так:
//var w = new Array (23 - 1, 4 - 1, 12 - 1, 3 - 1, 2 - 1);
//но метод sort () без аргумента-функции всё-равно воспринимает элементы СТРОКАМИ
alert (w.sort ()); //сортировка элементов как строк по возрастанию
alert (w.sort (function (x, y) {return (x - y)})); //сортировка элементов как чисел по возрастанию
//Замечу ещё, что используемую функцию в браузере MSIE можно поименовать для дальнейшего использования. Например, так:
alert (w.sort (function FFF (x, y) {return (y - x)}));
var z = new Array (33, 4, 22, 3, 2);
alert (z.sort (FFF));
//Интересно то, что при последующих вызовах передавать параметры уже не надо.
//И ещё интересно то, что в прочих браузерах (кроме MSIE) функция FFF () не будет определена.
</script>
|
>"Можно ли в такую функцию передавать параметры?"
Разумеется, можно. В вышеприведённом примере как раз параметры передаются. | |
|
|
|
|
|
|
|
для: coloboc66
(10.11.2009 в 10:27)
| |
var f = function(par) {
alert(par)
}
f('lol');
|
| |
|
|
|
|
|
|
|
для: sl1p
(10.11.2009 в 11:16)
| | Неименованная функция... под именем f () :-)) | |
|
|
|
|
|
|
|
для: АЯ
(10.11.2009 в 11:18)
| | Последний код не работает, отладчик пишет:
f is not a function | |
|
|
|
|
|
|
|
для: coloboc66
(10.11.2009 в 11:50)
| | Хреновый у вас отладчик:
<script>
var f = function(par) {
alert(par)
}
f('Работает ВЕЗДЕ!!!');
</script>
|
| |
|
|
|
|
|
|
|
для: АЯ
(10.11.2009 в 11:59)
| | Да - работает. | |
|
|
|