|
@@ -54,7 +54,7 @@ var fathername = prompt("Введите отчество","") || "Иванови
|
|

|
|

|
|

|
|

|
|
|
|
|
|
-## Фунцкции
|
|
|
|
|
|
+## Функции
|
|
|
|
|
|
**Функция** - подпрограмма, которая принимает определенные параметры при вызове, выполняет определенный код, и возвращает выполнение кода в место вызова,
|
|
**Функция** - подпрограмма, которая принимает определенные параметры при вызове, выполняет определенный код, и возвращает выполнение кода в место вызова,
|
|
*опционально* (не обязательно) вернув результат работы в место вызова.
|
|
*опционально* (не обязательно) вернув результат работы в место вызова.
|
|
@@ -62,15 +62,18 @@ var fathername = prompt("Введите отчество","") || "Иванови
|
|
Свойства **функции**, которые сделали её такой полезной для написания программ:
|
|
Свойства **функции**, которые сделали её такой полезной для написания программ:
|
|
|
|
|
|
- **Вызов**. Функция может быть вызвана, код функции выполнится в другом месте, после выполнения функции выполнение кода продолжается с места вызова.
|
|
- **Вызов**. Функция может быть вызвана, код функции выполнится в другом месте, после выполнения функции выполнение кода продолжается с места вызова.
|
|
|
|
+
|
|
```javascript
|
|
```javascript
|
|
function d()
|
|
function d()
|
|
{
|
|
{
|
|
debugger;
|
|
debugger;
|
|
}
|
|
}
|
|
```
|
|
```
|
|
|
|
+
|
|
- **Область видимости**. Так как функция не может "знать", из какого контекста она вызывается, то нет возможности знать заранее, совпадают ли имена
|
|
- **Область видимости**. Так как функция не может "знать", из какого контекста она вызывается, то нет возможности знать заранее, совпадают ли имена
|
|
переменных в функции и вне её. Таким образом вероятны *побочные эффекты* - непредсказуемые изменения переменных во внешнем коде, которые могут
|
|
переменных в функции и вне её. Таким образом вероятны *побочные эффекты* - непредсказуемые изменения переменных во внешнем коде, которые могут
|
|
вызвать неправильную работу кода в целом;
|
|
вызвать неправильную работу кода в целом;
|
|
|
|
+
|
|
```javascript
|
|
```javascript
|
|
var surname = "Петров";
|
|
var surname = "Петров";
|
|
function readSurname()
|
|
function readSurname()
|
|
@@ -86,9 +89,11 @@ alert(surname);
|
|
readSurname();
|
|
readSurname();
|
|
alert(surname);
|
|
alert(surname);
|
|
```
|
|
```
|
|
|
|
+
|
|
Для решения этой проблемы используется концепция *области видимости* - **правильно** объявленная переменная
|
|
Для решения этой проблемы используется концепция *области видимости* - **правильно** объявленная переменная
|
|
в функции (через `var`) существует только в функции и создаются каждый раз при вызове функции; внешние же переменные с таким же именем остаются
|
|
в функции (через `var`) существует только в функции и создаются каждый раз при вызове функции; внешние же переменные с таким же именем остаются
|
|
нетронутыми
|
|
нетронутыми
|
|
|
|
+
|
|
```javascript
|
|
```javascript
|
|
var surname = "Петров";
|
|
var surname = "Петров";
|
|
function readSurname()
|
|
function readSurname()
|
|
@@ -104,9 +109,8 @@ alert(surname);
|
|
```
|
|
```
|
|
|
|
|
|
- **Параметры** Функция должна уметь получить те или иные данные для своего выполнения. Например встроенные функции `confirm`, `prompt`, `alert`.
|
|
- **Параметры** Функция должна уметь получить те или иные данные для своего выполнения. Например встроенные функции `confirm`, `prompt`, `alert`.
|
|
|
|
+ **Задание**: Каковы параметры и какой у них смысл в вышеуказанных встроенных функциях?
|
|
|
|
|
|
- ### Задание
|
|
|
|
- Каковы параметры и какой у них смысл в вышеуказанных встроенных функциях?
|
|
|
|
```javascript
|
|
```javascript
|
|
var surname = "Петров";
|
|
var surname = "Петров";
|
|
function readSomething()
|
|
function readSomething()
|