Skip to content

Commit 18520dc

Browse files
authored
Merge pull request #843 from javascript-tutorial/lex111-patch-2
Improve JS quiz
2 parents 9513457 + 4832294 commit 18520dc

File tree

1 file changed

+49
-49
lines changed

1 file changed

+49
-49
lines changed

quiz/quiz-js.yml

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ questions:
5656
type: single
5757
answers:
5858
- Новый язык программирования
59-
- Переработанная реализация Javascript
60-
- Спецификация языка Javascript
59+
- Переработанная реализация JavaScript
60+
- Спецификация языка JavaScript
6161
correctAnswer: 2
6262

6363
-
@@ -76,7 +76,7 @@ questions:
7676

7777
-
7878
content: |
79-
Какие конструкции для циклов есть в javascript?
79+
Какие конструкции для циклов есть в JavaScript?
8080
8181
type: single
8282
answers:
@@ -134,7 +134,7 @@ questions:
134134

135135
-
136136
content: |
137-
Сколько параметров можно передать функции ?
137+
Сколько параметров можно передать функции?
138138
type: single
139139
answers:
140140
- Ровно столько, сколько указано в определении функции
@@ -148,7 +148,7 @@ questions:
148148
Какие из этих вариантов задают массив из элементов "a", "b"?
149149
type: multi
150150
answers:
151-
- '`let a = new Array("a","b")`'
151+
- '`let a = new Array("a", "b")`'
152152
- '`let a = { "a", "b" }`'
153153
- '`let a = ( "a", "b" )`'
154154
- '`let a = [ "a", "b" ]`'
@@ -162,12 +162,12 @@ questions:
162162

163163
-
164164
content: |
165-
Какие варианты правильно объявляют функцию `f`, возвращающую сумму двух аргументов ?
165+
Какие варианты правильно объявляют функцию `f`, возвращающую сумму двух аргументов?
166166
type: multi
167167
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")`'
171171
- '`let f = (a, b) => a + b`'
172172
- '`let f = (a, b) => { a + b }`'
173173
- Никакие
@@ -185,7 +185,7 @@ questions:
185185
```
186186
type: single
187187
answers:
188-
- Ломает интерпретатор javascript
188+
- Ломает интерпретатор JavaScript
189189
- Выходит из текущего блока цикла или switch на метку "me"
190190
- Выдает ошибку
191191
correctAnswer: 1
@@ -201,7 +201,7 @@ questions:
201201
answers:
202202
- Да
203203
- Нет
204-
- В первом выражении ошибка, что еще за "!!" ??
204+
- В первом выражении ошибка, что ещё за "!!"??
205205
correctAnswer: 0
206206

207207
-
@@ -226,7 +226,7 @@ questions:
226226
content: |
227227
Чему равно `i` в конце кода?
228228
```js
229-
for(var i=0; i<10; i++) {
229+
for (var i = 0; i < 10; i++) {
230230
console.log(i);
231231
}
232232
// i = ?
@@ -243,7 +243,7 @@ questions:
243243
content: |
244244
Чему равно `i` в конце кода?
245245
```js
246-
for(let i=0; i<10; i++) {
246+
for (let i = 0; i < 10; i++) {
247247
console.log(i);
248248
}
249249
// i = ?
@@ -283,10 +283,10 @@ questions:
283283

284284
-
285285
content: |
286-
Существует ли такое значение `X`, что после присваивания `a = X` вызов `alert(a == X)` выдаст `false`?
286+
Существует ли такое значение `X`, которое после присваивания `a = X` вызов `alert(a == X)` выдаст `false`?
287287
```js
288288
let a = X;
289-
alert( a == X ); // false
289+
alert(a == X); // false
290290
```
291291
type: single
292292
answers:
@@ -314,7 +314,7 @@ questions:
314314

315315
-
316316
content: |
317-
Каких операторов из этого списка нет в javascript?
317+
Каких операторов из этого списка нет в JavaScript?
318318
type: multi
319319
answers:
320320
- '`*`'
@@ -384,7 +384,7 @@ questions:
384384

385385
-
386386
content: |
387-
Какая арифметическая операция приводит к ошибке в javascript?
387+
Какая арифметическая операция приводит к ошибке в JavaScript?
388388
type: single
389389
answers:
390390
- Деление на ноль
@@ -396,7 +396,7 @@ questions:
396396

397397
-
398398
content: |
399-
Чему равно `0 || "" || 2 || undefined || true || falsе` ?
399+
Чему равно `0 || "" || 2 || undefined || true || falsе`?
400400
type: single
401401
answers:
402402
- '`0`'
@@ -411,7 +411,7 @@ questions:
411411

412412
-
413413
content: |
414-
Чему равно `2 && 1 && null && 0 && undefined` ?
414+
Чему равно `2 && 1 && null && 0 && undefined`?
415415
type: single
416416
answers:
417417
- '`2`'
@@ -424,7 +424,7 @@ questions:
424424

425425
-
426426
content: |
427-
Чему равно `0 || 1 && 2 || 3` ?
427+
Чему равно `0 || 1 && 2 || 3`?
428428
429429
type: single
430430
answers:
@@ -505,7 +505,7 @@ questions:
505505
content: |
506506
Что выведет этот код?
507507
```js
508-
for(var i=0; i<10; i++) {
508+
for (var i = 0; i < 10; i++) {
509509
setTimeout(function() {
510510
alert(i);
511511
}, 100);
@@ -524,7 +524,7 @@ questions:
524524
content: |
525525
Что выведет этот код?
526526
```js
527-
for(let i=0; i<10; i++) {
527+
for (let i = 0; i < 10; i++) {
528528
setTimeout(function() {
529529
alert(i);
530530
}, 100);
@@ -604,7 +604,7 @@ questions:
604604
Какое будет выведено значение?
605605
```js
606606
let x = 5;
607-
alert( x++ );
607+
alert(x++);
608608
```
609609
type: single
610610
answers:
@@ -681,21 +681,21 @@ questions:
681681
f.call(f);
682682
683683
function f() {
684-
alert( this );
684+
alert(this);
685685
}
686686
```
687687
type: single
688688
answers:
689689
- '`[object Object]`'
690-
- 'код функции `f`'
691-
- 'ошибка: слишком глубокая рекурсия'
692-
- 'ошибка: переменная `f` не определена'
690+
- 'Код функции `f`'
691+
- 'Ошибка: слишком глубокая рекурсия'
692+
- 'Ошибка: переменная `f` не определена'
693693
- другое
694694
correctAnswer: 1
695695
correctAnswerComment: |
696696
Функция `f` определяется при входе в область видимости, так что на первой строке она уже есть.
697697
698-
Далее, вызов `f.call(f)` вызывает функцию, передавая ей `f` в качестве `this`, так что выводится строковое представление `f`.
698+
Далее вызов `f.call(f)` вызывает функцию, передавая ей `f` в качестве `this`, так что выводится строковое представление `f`.
699699
700700
701701
-
@@ -704,15 +704,15 @@ questions:
704704
```js
705705
let f = function g() { return 23; };
706706
707-
alert( typeof g() );
707+
alert(typeof g());
708708
```
709709
710710
type: single
711711
answers:
712712
- '`number`'
713713
- '`undefined`'
714714
- '`function`'
715-
- ошибка
715+
- Ошибка
716716
correctAnswer: 3
717717
correctAnswerComment: |
718718
Ошибка, так как это Named Function Expression.
@@ -734,7 +734,7 @@ questions:
734734
- В коде ошибка
735735
correctAnswer: 3
736736
correctAnswerComment: |
737-
Переменная не определена, в "strict mode" все переменные должны быть определены.
737+
Переменная не определена, в строгом режиме все переменные должны быть определены.
738738
739739
740740
-
@@ -755,7 +755,7 @@ questions:
755755
- Будет ошибка
756756
correctAnswer: 1
757757
correctAnswerComment: |
758-
Двойное присваивание выполняется справа налево. То есть, сначала `y` станет `2`, а потом `x=y`.
758+
Двойное присваивание выполняется справа налево. То есть сначала `y` станет `2`, а потом `x = y`.
759759
760760
761761
-
@@ -869,7 +869,7 @@ questions:
869869
return new Function('b', 'return a + b');
870870
}
871871
872-
alert( f()(1) );
872+
alert(f()(1));
873873
```
874874
type: single
875875
answers:
@@ -916,8 +916,8 @@ questions:
916916
```js
917917
function F() { return F; }
918918
919-
alert( new F() instanceof F );
920-
alert( new F() instanceof Function );
919+
alert(new F() instanceof F);
920+
alert(new F() instanceof Function);
921921
```
922922
923923
type: single
@@ -930,14 +930,14 @@ questions:
930930
correctAnswerComment: |
931931
Если функция, запущенная через `new`, возвращает объект (не примитив!), то именно этот объект служит результатом, вместо `this`. Так что результатом `new F` является сама функция `F`.
932932
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`.
934934
935935
Следующая строка идентична такой проверке: `F instanceof Function`. Это верно.
936936
937937
938938
-
939939
content: |
940-
Чему равен `typeof null` в режиме `use strict`?
940+
Чему равен `typeof null` в режиме строгом режиме?
941941
type: single
942942
answers:
943943
- '`null`'
@@ -954,7 +954,7 @@ questions:
954954
content: |
955955
Что выведет этот код?
956956
```js
957-
alert( "1"[0] );
957+
alert("1"[0]);
958958
```
959959
960960
type: single
@@ -972,7 +972,7 @@ questions:
972972
content: |
973973
Что выведет этот код?
974974
```js
975-
alert( 20e-1['toString'](2) );
975+
alert(20e-1['toString'](2));
976976
```
977977
978978
type: single
@@ -988,7 +988,7 @@ questions:
988988
<li>Запись числа `20e-1` означает `20`, сдвинутое на 1 знак после запятой, т.е. `2`:
989989
```js
990990
//+ run
991-
alert( 20e-1 ); // 2
991+
alert(20e-1); // 2
992992
```
993993
</li>
994994
<li>У каждого числа есть метод `toString(radix)`, который преобразует число в строку, используя `radix` как основание системы счисления. В этом коде `radix = 2`. Так что возвращается `2` в двоичной системе: `"10"`.
@@ -999,7 +999,7 @@ questions:
999999
content: |
10001000
Что выведет этот код?
10011001
```js
1002-
alert( +"Infinity" );
1002+
alert(+"Infinity");
10031003
```
10041004
type: single
10051005
answers:
@@ -1029,7 +1029,7 @@ questions:
10291029
- '`4`'
10301030
correctAnswer: 3
10311031
correctAnswerComment: |
1032-
Оператор "запятая", вычисляемый в скобках, возвращает последнее вычисленное значение. То есть, `1` игнорируется и возвращается `4` (`5-1`).
1032+
Оператор "запятая", вычисляемый в скобках, возвращает последнее вычисленное значение. То есть, `1` игнорируется и возвращается `4` (`5 - 1`).
10331033
10341034
Затем идёт умножение на два, в результате -- `8`.
10351035
@@ -1038,7 +1038,7 @@ questions:
10381038
content: |
10391039
Что выведет этот код? Посмотрите на него очень внимательно, в этом вопросе есть подвох.
10401040
```js
1041-
let a = [1,2]
1041+
let a = [1, 2]
10421042
10431043
(function() { alert(a) })()
10441044
```
@@ -1050,13 +1050,13 @@ questions:
10501050
- Будет ошибка
10511051
correctAnswer: 3
10521052
correctAnswerComment: |
1053-
Пропущена точка с запятой после `let a = [1,2]`.
1053+
Пропущена точка с запятой после `let a = [1, 2]`.
10541054
10551055
Браузер автоматически не вставляет её перед скобкой, поэтому интерпретирует это как:
10561056
```js
1057-
let a = [1,2](function() { alert(a) })()
1057+
let a = [1, 2](function() { alert(a) })()
10581058
```
1059-
...То есть, пытается вызвать массив `[1,2]` как функцию, что, естественно, не выходит. Отсюда и ошибка.
1059+
...То есть, пытается вызвать массив `[1, 2]` как функцию, что, естественно, не выходит. Отсюда и ошибка.
10601060
10611061
10621062
@@ -1200,7 +1200,7 @@ questions:
12001200
Что выведет код ниже?
12011201
12021202
```js
1203-
for(let key in {1:1, 0:0}) {
1203+
for (let key in {1:1, 0:0}) {
12041204
alert(key);
12051205
}
12061206
```
@@ -1220,9 +1220,9 @@ questions:
12201220
Есть ли различия между проверками:
12211221
12221222
```js
1223-
if( x <= 100 ) {...}
1223+
if ( x <= 100 ) {...}
12241224
// и
1225-
if( !(x > 100) ) {...}
1225+
if ( !(x > 100) ) {...}
12261226
```
12271227
12281228
type: single

0 commit comments

Comments
 (0)