Функции

Воскресенье, 14 августа 2011 г.
Рубрика: JavaScript -> Функции
Метки: | | |
Просмотров: 373
Подписаться на комментарии по RSS

Сегодня мы с Вами поговорим о функциях.

Функции используются почти во всех языках программирования.

Давайте попробуем понять что это такое:

Представьте что Вам нужно сходить в магазин за деталями к машине, но Вы не знаете где находится такой магазин, и тогда тот, кто Вас попросил сходить в магазин написал Вам на бумаге инструкцию как добраться к магазину с запчастями.

Скажем там было написано - дойди до главной площади, поверни на лево и дойди до магазина мебели, после поверни на право, и пройди 500 метров до перекрёстка, потом поверни на лево и иди прямо, на правой стороне увидишь вход в переулок, войди в него и там с права будет стоять этот магазин.

По этой инструкции Вы дойдёте до магазина и купите запчасти.

И завтра Вас опять попросят сходить за запчастями, и Вы уже имея инструкцию дойдёте до магазина, не спрашивая у другого человека где это находится.

Получается инструкция на бумажке - это функция, по которой Вы можете выполнить определённое действие.

И называется эта функция - запчасти.

В программировании - в функцию Вы можете поместить какие-то действия, например - спросить у пользователя пароль, занести ответ в переменную и обработать.

И скажем Вам нужно будет на протяжении всего сеанса спрашивать у пользователя пароль около 20 раз, тогда при использовании функции можно значительно сократить код.

Конструкция функции такая:

функция имя ( параметры ) {
	действия
}

На языке JavaScript:

function name ( params ) {
	action
}

В качестве параметров можно передавать значения переменных, и уже в функции использовать их.

Так же в функции можно задавать свои имена переменным, например нам передали значение из переменной count, а мы примем их в переменную number - function ( number ) {}

Давайте создадим функцию для подсчёта суммы двух чисел:

<script type="text/javascript">
	function sum ( num, num2 ) {
		var answer = num + num2;
		document.write ( answer );
	}
	var number = 10, number2 = 20;
	sum ( number, number2 );
</script>

Кол-во параметров, передаваемых функции можно устанавливать самим - это зависит от кол-ва обрабатываемых данных.

Также функция может сама возвращать результат, который можно занести в переменную.

Для возвращения результата выполнения функции воспользуемся - return.

После выполнения всех действий в функции, можно прописать слово return и после него возвращаемые данные.

<script type="text/javascript">
	function sum ( num, num2 ) {
		return answer = num + num2;
	}
	var number = 10, number2 = 20;
	var answer = sum ( number, number2 );
	document.write ( answer );
</script>

Такой вид записи можно использовать, если Ваша функция будет делать какой-то подсчёт, который нужно будет после использовать в других подсчётах.

Запомните - что ко всем переменным используемым в функциях имеет доступ только функция, то есть их не изменить из вне функции, а только внутри неё.

Давайте закрепим полученные знания выполнив работу.

Ваша задача заключается в том, что бы создать функцию для подсчёта степени числа.

Вы должны будете спросить у пользователя число и степень.

И эти данные передать функции, которая вернёт результат и при помощи метода alert объекта window вывести полученный результат.

Например есть число 5 и степень 2, то ответ будет 25 - так как 5*5=25. Или есть число 5 и степень 3 - ответ - 125 - так как - 5*5*5=125.

Вот решение - задача интересная, так что не спешите смотреть ответ:

<script type="text/javascript">
	function degree ( num, power ) {
		var answer = num;
		for ( var i=1; i<power; i++ ) {
			answer = answer * num;
		}
		return answer;
	}
	var num = prompt ( "Введите число" );
	var power = prompt ( "Введите степень" );
	var answer = degree ( num, power );
	alert ( num + " в степени " + power + " = " + answer );
</script>
Поделиться...
twitter.com facebook.com vkontakte.ru mail.ru google.com bobrdobr.ru
Оставьте свой комментарий!

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор, укажите пароль и свой действующий email.

(обязательно)