You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: quiz/quiz-js.yml
+49-49Lines changed: 49 additions & 49 deletions
Original file line number
Diff line number
Diff line change
@@ -56,8 +56,8 @@ questions:
56
56
type: single
57
57
answers:
58
58
- Новый язык программирования
59
-
- Переработанная реализация Javascript
60
-
- Спецификация языка Javascript
59
+
- Переработанная реализация JavaScript
60
+
- Спецификация языка JavaScript
61
61
correctAnswer: 2
62
62
63
63
-
@@ -76,7 +76,7 @@ questions:
76
76
77
77
-
78
78
content: |
79
-
Какие конструкции для циклов есть в javascript?
79
+
Какие конструкции для циклов есть в JavaScript?
80
80
81
81
type: single
82
82
answers:
@@ -134,7 +134,7 @@ questions:
134
134
135
135
-
136
136
content: |
137
-
Сколько параметров можно передать функции?
137
+
Сколько параметров можно передать функции?
138
138
type: single
139
139
answers:
140
140
- Ровно столько, сколько указано в определении функции
@@ -148,7 +148,7 @@ questions:
148
148
Какие из этих вариантов задают массив из элементов "a", "b"?
149
149
type: multi
150
150
answers:
151
-
- '`let a = new Array("a","b")`'
151
+
- '`let a = new Array("a","b")`'
152
152
- '`let a = { "a", "b" }`'
153
153
- '`let a = ( "a", "b" )`'
154
154
- '`let a = [ "a", "b" ]`'
@@ -162,12 +162,12 @@ questions:
162
162
163
163
-
164
164
content: |
165
-
Какие варианты правильно объявляют функцию `f`, возвращающую сумму двух аргументов?
165
+
Какие варианты правильно объявляют функцию `f`, возвращающую сумму двух аргументов?
166
166
type: multi
167
167
answers:
168
-
- '`let f = function(a,b) { return a+b }`'
169
-
- '`let f = new Function("a,b", "return a+b")`'
170
-
- '`let f = new Function("a", "b", "return a+b")`'
168
+
- '`let f = function(a,b) { return a + b }`'
169
+
- '`let f = new Function("a,b", "return a + b")`'
170
+
- '`let f = new Function("a", "b", "return a + b")`'
171
171
- '`let f = (a, b) => a + b`'
172
172
- '`let f = (a, b) => { a + b }`'
173
173
- Никакие
@@ -185,7 +185,7 @@ questions:
185
185
```
186
186
type: single
187
187
answers:
188
-
- Ломает интерпретатор javascript
188
+
- Ломает интерпретатор JavaScript
189
189
- Выходит из текущего блока цикла или switch на метку "me"
190
190
- Выдает ошибку
191
191
correctAnswer: 1
@@ -201,7 +201,7 @@ questions:
201
201
answers:
202
202
- Да
203
203
- Нет
204
-
- В первом выражении ошибка, что еще за "!!"??
204
+
- В первом выражении ошибка, что ещё за "!!"??
205
205
correctAnswer: 0
206
206
207
207
-
@@ -226,7 +226,7 @@ questions:
226
226
content: |
227
227
Чему равно `i` в конце кода?
228
228
```js
229
-
for(var i=0; i<10; i++) {
229
+
for(var i = 0; i < 10; i++) {
230
230
console.log(i);
231
231
}
232
232
// i = ?
@@ -243,7 +243,7 @@ questions:
243
243
content: |
244
244
Чему равно `i` в конце кода?
245
245
```js
246
-
for(let i=0; i<10; i++) {
246
+
for(let i = 0; i < 10; i++) {
247
247
console.log(i);
248
248
}
249
249
// i = ?
@@ -283,10 +283,10 @@ questions:
283
283
284
284
-
285
285
content: |
286
-
Существует ли такое значение `X`, что после присваивания `a = X` вызов `alert(a == X)` выдаст `false`?
286
+
Существует ли такое значение `X`, которое после присваивания `a = X` вызов `alert(a == X)` выдаст `false`?
287
287
```js
288
288
let a = X;
289
-
alert(a == X); // false
289
+
alert(a == X); // false
290
290
```
291
291
type: single
292
292
answers:
@@ -314,7 +314,7 @@ questions:
314
314
315
315
-
316
316
content: |
317
-
Каких операторов из этого списка нет в javascript?
317
+
Каких операторов из этого списка нет в JavaScript?
318
318
type: multi
319
319
answers:
320
320
- '`*`'
@@ -384,7 +384,7 @@ questions:
384
384
385
385
-
386
386
content: |
387
-
Какая арифметическая операция приводит к ошибке в javascript?
387
+
Какая арифметическая операция приводит к ошибке в JavaScript?
388
388
type: single
389
389
answers:
390
390
- Деление на ноль
@@ -396,7 +396,7 @@ questions:
396
396
397
397
-
398
398
content: |
399
-
Чему равно `0 || "" || 2 || undefined || true || falsе`?
399
+
Чему равно `0 || "" || 2 || undefined || true || falsе`?
400
400
type: single
401
401
answers:
402
402
- '`0`'
@@ -411,7 +411,7 @@ questions:
411
411
412
412
-
413
413
content: |
414
-
Чему равно `2 && 1 && null && 0 && undefined`?
414
+
Чему равно `2 && 1 && null && 0 && undefined`?
415
415
type: single
416
416
answers:
417
417
- '`2`'
@@ -424,7 +424,7 @@ questions:
424
424
425
425
-
426
426
content: |
427
-
Чему равно `0 || 1 && 2 || 3`?
427
+
Чему равно `0 || 1 && 2 || 3`?
428
428
429
429
type: single
430
430
answers:
@@ -505,7 +505,7 @@ questions:
505
505
content: |
506
506
Что выведет этот код?
507
507
```js
508
-
for(var i=0; i<10; i++) {
508
+
for(var i = 0; i < 10; i++) {
509
509
setTimeout(function() {
510
510
alert(i);
511
511
}, 100);
@@ -524,7 +524,7 @@ questions:
524
524
content: |
525
525
Что выведет этот код?
526
526
```js
527
-
for(let i=0; i<10; i++) {
527
+
for(let i = 0; i < 10; i++) {
528
528
setTimeout(function() {
529
529
alert(i);
530
530
}, 100);
@@ -604,7 +604,7 @@ questions:
604
604
Какое будет выведено значение?
605
605
```js
606
606
let x = 5;
607
-
alert(x++);
607
+
alert(x++);
608
608
```
609
609
type: single
610
610
answers:
@@ -681,21 +681,21 @@ questions:
681
681
f.call(f);
682
682
683
683
function f() {
684
-
alert(this);
684
+
alert(this);
685
685
}
686
686
```
687
687
type: single
688
688
answers:
689
689
- '`[object Object]`'
690
-
- 'код функции `f`'
691
-
- 'ошибка: слишком глубокая рекурсия'
692
-
- 'ошибка: переменная `f` не определена'
690
+
- 'Код функции `f`'
691
+
- 'Ошибка: слишком глубокая рекурсия'
692
+
- 'Ошибка: переменная `f` не определена'
693
693
- другое
694
694
correctAnswer: 1
695
695
correctAnswerComment: |
696
696
Функция `f` определяется при входе в область видимости, так что на первой строке она уже есть.
697
697
698
-
Далее, вызов `f.call(f)` вызывает функцию, передавая ей `f` в качестве `this`, так что выводится строковое представление `f`.
698
+
Далее вызов `f.call(f)` вызывает функцию, передавая ей `f` в качестве `this`, так что выводится строковое представление `f`.
699
699
700
700
701
701
-
@@ -704,15 +704,15 @@ questions:
704
704
```js
705
705
let f = function g() { return 23; };
706
706
707
-
alert(typeof g());
707
+
alert(typeof g());
708
708
```
709
709
710
710
type: single
711
711
answers:
712
712
- '`number`'
713
713
- '`undefined`'
714
714
- '`function`'
715
-
- ошибка
715
+
- Ошибка
716
716
correctAnswer: 3
717
717
correctAnswerComment: |
718
718
Ошибка, так как это Named Function Expression.
@@ -734,7 +734,7 @@ questions:
734
734
- В коде ошибка
735
735
correctAnswer: 3
736
736
correctAnswerComment: |
737
-
Переменная не определена, в "strict mode" все переменные должны быть определены.
737
+
Переменная не определена, в строгом режиме все переменные должны быть определены.
738
738
739
739
740
740
-
@@ -755,7 +755,7 @@ questions:
755
755
- Будет ошибка
756
756
correctAnswer: 1
757
757
correctAnswerComment: |
758
-
Двойное присваивание выполняется справа налево. То есть, сначала `y` станет `2`, а потом `x=y`.
758
+
Двойное присваивание выполняется справа налево. То есть сначала `y` станет `2`, а потом `x = y`.
759
759
760
760
761
761
-
@@ -869,7 +869,7 @@ questions:
869
869
return new Function('b', 'return a + b');
870
870
}
871
871
872
-
alert(f()(1));
872
+
alert(f()(1));
873
873
```
874
874
type: single
875
875
answers:
@@ -916,8 +916,8 @@ questions:
916
916
```js
917
917
function F() { return F; }
918
918
919
-
alert(new F() instanceof F);
920
-
alert(new F() instanceof Function);
919
+
alert(new F() instanceof F);
920
+
alert(new F() instanceof Function);
921
921
```
922
922
923
923
type: single
@@ -930,14 +930,14 @@ questions:
930
930
correctAnswerComment: |
931
931
Если функция, запущенная через `new`, возвращает объект (не примитив!), то именно этот объект служит результатом, вместо `this`. Так что результатом `new F` является сама функция `F`.
932
932
933
-
Поэтому получается, что первый `alert` проверяет: `F instanceof F`. Это неверно, т.к. `a instanceof B` проверяет, был ли объект `a` создан конструктором `B` (с учетом прототипов, но здесь это неважно). Функция `F` не была создана собой же, а является объектом встроенного класса `Function`, поэтому `false`.
933
+
Поэтому получается, что первый `alert` проверяет: `F instanceof F`. Это неверно, т.к. `a instanceof B` проверяет, был ли объект `a` создан конструктором `B` (с учетом прототипов, но здесь это неважно). Функция `F` не была создана собой же, а является объектом встроенного класса `Function`, поэтому `false`.
934
934
935
935
Следующая строка идентична такой проверке: `F instanceof Function`. Это верно.
936
936
937
937
938
938
-
939
939
content: |
940
-
Чему равен `typeof null` в режиме `use strict`?
940
+
Чему равен `typeof null` в режиме строгом режиме?
941
941
type: single
942
942
answers:
943
943
- '`null`'
@@ -954,7 +954,7 @@ questions:
954
954
content: |
955
955
Что выведет этот код?
956
956
```js
957
-
alert("1"[0]);
957
+
alert("1"[0]);
958
958
```
959
959
960
960
type: single
@@ -972,7 +972,7 @@ questions:
972
972
content: |
973
973
Что выведет этот код?
974
974
```js
975
-
alert(20e-1['toString'](2));
975
+
alert(20e-1['toString'](2));
976
976
```
977
977
978
978
type: single
@@ -988,7 +988,7 @@ questions:
988
988
<li>Запись числа `20e-1` означает `20`, сдвинутое на 1 знак после запятой, т.е. `2`:
989
989
```js
990
990
//+ run
991
-
alert(20e-1); // 2
991
+
alert(20e-1); // 2
992
992
```
993
993
</li>
994
994
<li>У каждого числа есть метод `toString(radix)`, который преобразует число в строку, используя `radix` как основание системы счисления. В этом коде `radix = 2`. Так что возвращается `2` в двоичной системе: `"10"`.
@@ -999,7 +999,7 @@ questions:
999
999
content: |
1000
1000
Что выведет этот код?
1001
1001
```js
1002
-
alert(+"Infinity");
1002
+
alert(+"Infinity");
1003
1003
```
1004
1004
type: single
1005
1005
answers:
@@ -1029,7 +1029,7 @@ questions:
1029
1029
- '`4`'
1030
1030
correctAnswer: 3
1031
1031
correctAnswerComment: |
1032
-
Оператор "запятая", вычисляемый в скобках, возвращает последнее вычисленное значение. То есть, `1` игнорируется и возвращается `4` (`5-1`).
1032
+
Оператор "запятая", вычисляемый в скобках, возвращает последнее вычисленное значение. То есть, `1` игнорируется и возвращается `4` (`5 - 1`).
1033
1033
1034
1034
Затем идёт умножение на два, в результате -- `8`.
1035
1035
@@ -1038,7 +1038,7 @@ questions:
1038
1038
content: |
1039
1039
Что выведет этот код? Посмотрите на него очень внимательно, в этом вопросе есть подвох.
1040
1040
```js
1041
-
let a = [1,2]
1041
+
let a = [1,2]
1042
1042
1043
1043
(function() { alert(a) })()
1044
1044
```
@@ -1050,13 +1050,13 @@ questions:
1050
1050
- Будет ошибка
1051
1051
correctAnswer: 3
1052
1052
correctAnswerComment: |
1053
-
Пропущена точка с запятой после `let a = [1,2]`.
1053
+
Пропущена точка с запятой после `let a = [1,2]`.
1054
1054
1055
1055
Браузер автоматически не вставляет её перед скобкой, поэтому интерпретирует это как:
1056
1056
```js
1057
-
let a = [1,2](function() { alert(a) })()
1057
+
let a = [1,2](function() { alert(a) })()
1058
1058
```
1059
-
...То есть, пытается вызвать массив `[1,2]` как функцию, что, естественно, не выходит. Отсюда и ошибка.
1059
+
...То есть, пытается вызвать массив `[1,2]` как функцию, что, естественно, не выходит. Отсюда и ошибка.
0 commit comments