Теоретические основы программирования на JavaScript Функции
Пользовательские функции, их объявление и вызов Методы классов – функции, которые могут быть вызваны только по отношению к экземпляру JavaScript-объекта или класса; Функции верхнего уровня – функции, не принадлежащие ни одному объекту; Пользовательские функции – функции, разработанные пользователем.
Синтаксис объявления функции function название_функции( [параметр] [,параметр] […,параметр]) { //тело функции }
Объявление функций и их вызов <!-- function test1( param1 ) { alert( param1 ); } function test2( param1, param2 ) { return param1+param2 +" and Minsk"; } test1( "Hello" ); alert( test2( "Hello", " World " ) ); //-->
Вложенные (локальные) функции <!-- function SquareSum (a,b) { function sqr(x) { return x*x; } return sqr(a) + sqr(b); } document.writeln( SquareSum(3,4) ); //-->
Пример каскадного доступа к параметрам функций <!-- function outside( a ) { function inside( b ) { return a*b; } return inside; } document.writeln( outside(3) (4) ); //-->
Безымянные функции <!-- var summa = function(a,b) {return a+b;}; document.write( "summa(3,4) = " + summa(3,4) ); //-->
Определение количества переданных функции параметров <!-- function test( param1, param2 ) { document.write( "test.arguments.length = " + test.arguments.length + "( " ); for(var i=0;i<test.arguments.length;i++) document.write( "\"" + test.arguments[i] + "\" " ); document.write( ") " ); } test( "Hello" ); test( "Hello", "World " ); test( "Hello", "World ", "!!!" ); test( 3, 4, 5 ); test( 3.14, 4.25, 5.68 ); //-->
Определение количества переданных функции параметров с определением их типа корректного вывода итоговой информации <!-- function test( param1, param2 ) { document.write( "test.arguments.length = " + test.arguments.length + "( " ); for(var i=0;i<test.arguments.length;i++) { if( parseInt(test.arguments[i])||parseFloat(test.arguments[i]) ) document.write( " " + test.arguments[i] + " " ); else document.write( "\"" + test.arguments[i] + "\" " ); } document.write( ") " ); } test( "Hello" ); test( "Hello", "World " ); test( "Hello", "World ", "!!!" ); test( 3, 4, 5 ); test( 3.14, 4.25, 5.68 ); //-->