|
@@ -209,7 +209,6 @@ alert("Сумма квадратов: " + (sqr1 + sqr(otherVar + otherVar)));
|
|
В **Javascript** количество параметров при определении и при вызове может отличаться. Это не вызывает ошибок. В таком случае непереданные параметры равны
|
|
В **Javascript** количество параметров при определении и при вызове может отличаться. Это не вызывает ошибок. В таком случае непереданные параметры равны
|
|
`undefined`:
|
|
`undefined`:
|
|
```javascript
|
|
```javascript
|
|
-debugger;
|
|
|
|
function add(a,b)
|
|
function add(a,b)
|
|
{
|
|
{
|
|
a = a || 0;
|
|
a = a || 0;
|
|
@@ -225,7 +224,6 @@ alert(add(2,3));
|
|
Если же параметров больше, чем указано в определении функции, то ошибки тоже не происходит. Для доступа к полям существует **псевдомассив**
|
|
Если же параметров больше, чем указано в определении функции, то ошибки тоже не происходит. Для доступа к полям существует **псевдомассив**
|
|
`arguments`, который всегда содержит актуальный набор параметров, переданных при вызове.
|
|
`arguments`, который всегда содержит актуальный набор параметров, переданных при вызове.
|
|
```javascript
|
|
```javascript
|
|
-debugger;
|
|
|
|
function add(a,b)
|
|
function add(a,b)
|
|
{
|
|
{
|
|
console.log(arguments)
|
|
console.log(arguments)
|
|
@@ -251,7 +249,6 @@ prompt("Введите число");
|
|
- Собственно возврат значения во внешний код. Выражение после `return` *вычисляется в контексте функции*:
|
|
- Собственно возврат значения во внешний код. Выражение после `return` *вычисляется в контексте функции*:
|
|
|
|
|
|
```javascript
|
|
```javascript
|
|
-debugger;
|
|
|
|
function add(a,b)
|
|
function add(a,b)
|
|
{
|
|
{
|
|
return a + b;
|
|
return a + b;
|
|
@@ -264,7 +261,6 @@ alert(add(3,4))
|
|
- `return` без параметра возвращает *ничего*, т. е. `undefined`:
|
|
- `return` без параметра возвращает *ничего*, т. е. `undefined`:
|
|
|
|
|
|
```javascript
|
|
```javascript
|
|
-debugger;
|
|
|
|
function bigAndWeirdFunction()
|
|
function bigAndWeirdFunction()
|
|
{
|
|
{
|
|
var somethingBad = Math.random() > 0.5;
|
|
var somethingBad = Math.random() > 0.5;
|
|
@@ -334,7 +330,6 @@ alert("global a after function execution" + a);
|
|
|
|
|
|
```javascript
|
|
```javascript
|
|
|
|
|
|
-debugger;
|
|
|
|
function add(a,b)
|
|
function add(a,b)
|
|
{
|
|
{
|
|
var result = a + b;
|
|
var result = a + b;
|
|
@@ -355,7 +350,6 @@ add(5,6)
|
|
В ES6 это вызывает ошибку.
|
|
В ES6 это вызывает ошибку.
|
|
|
|
|
|
```javascript
|
|
```javascript
|
|
-debugger;
|
|
|
|
function add(a,b)
|
|
function add(a,b)
|
|
{
|
|
{
|
|
result = a + b;
|
|
result = a + b;
|
|
@@ -575,7 +569,6 @@ function validatedPrompt(message, defaultValue, validator)
|
|
} while( value !== null && !validator(value));
|
|
} while( value !== null && !validator(value));
|
|
return value;
|
|
return value;
|
|
}
|
|
}
|
|
-debugger;
|
|
|
|
alert(validatedPrompt("number", "", function(value) {
|
|
alert(validatedPrompt("number", "", function(value) {
|
|
return !isNaN(+value) && Number.isInteger(+value)
|
|
return !isNaN(+value) && Number.isInteger(+value)
|
|
}))
|
|
}))
|