Результаты прохождения теста JavaScript основы пользователем Мария Матковская

Результат прохождения теста "JavaScript основы" - Не пройден

+40

Как с помощью javascript считать свойство age объекта person (выберите все правильные варианты)?
Ваши ответы
person.age
Укажите все верные варианты добавления свойств к объекту dog:
var dog = { 
 species: "greyhound", 
 
}; 
Ваши ответы
dog.weight = 50 
Что выведется в консоль?
var bool = new Boolean(false);
if (bool) {
   console.log('Hello');
} else {
   console.log('Error');
}
 
Ваши ответы
'Hello'
Объяснение:

new Boolean - это объект. В логическом контексте он всегда true.

Что выведет на экран следующий код? alert(Math.floor(Math.random());
Ваши ответы
0
Укажите все способы указания комментариев в javascript-коде.
Ваши ответы
//комментарий
/* комментарий */
Что из ниже указанного проверит что элемент arr (var arr = ...) является массивом?
Ваши ответы
Array.isArray(arr);
Объяснение:

1) typeof arr = "object" - не доказывает что это массив;
2) if (arr) { } - проверка на существование элемента;
3) if (arr.splice) { } - проверка, имеет ли
элемент метод splice(), так как
он есть только у массивов;
4) if (arr.constructor === Array) - проверка через конструктор;
5) Array.isArray(arr) - проверка через функцию isArray();
6) arr instanceof Array - проверка на экземпляр класса ;

Чему будет равна переменная а?
var a = 5; 
var a; 
Ваши ответы
undefined
Каков будет результат выполнения следующего кода?
for (var i = 0; i < 10; i++) { 
  setTimeout(function () { 
    console.log(i); 
  }, 0); 
}
Ваши ответы
0,1,2,3,4,5,6,7,8,9
Объяснение:

10 раз запустится отложенный console.log(i), который лежит внутри анонимной функции, которая создается каждый раз.

Какое сообщение выведет код:
a = 0.1; 
b = 0.2; 
c = 0.3; 
 
alert(a + (b + c) === (a + b) + c); 
Ваши ответы
true
Что будет выведено на экран следующим кодом?
var a = Array(); 
a[a.length] = 0; 
alert(a.length); 
Ваши ответы
undefined
Объяснение:

Создали объект а, так как это массив то у него есть атрибут length проинициализироаный нулем a.length = 0, во 2й строчке элементу массива с индексом 0 присваивают значение 0, в массиве 1 элемент, соответственно a.length = 1.

Что произойдет после выполнение кода:
var foo = function(){ 
  return 
      { 
           a: 1, 
           b: 2, 
           c: 3 
      } 
} 
Ваши ответы
Переменной foo присвоиться функция
Объяснение:

Произойдет SyntaxError так как после return стоит символ перевода каретки, то компилятор автоматически добавит там точку с запятой, что призведет к ошибке.

Какое значение будет выведено в консоли?
var a = 3;
switch (a) {
    default:
        a += 4;
    case 1:
        a += 2;
        break;
    case 2:
        a += 3;
        break;
}
console.log(a);
Ваши ответы
7
Объяснение:

см. Фленаган 6-е издание стр.117

Что выведут строки ?
 
console.log(false == undefined);
console.log(false == null);
console.log(null  == undefined);
 
 
Ваши ответы
true true true
Объяснение:

false =="false" // false false =="0" // true false==undefined // false false==null // false null==undefined // true

Какое значение будет присвоено переменной k ?
var k; 
k = parseInt('08', 8) + parseInt('05', 8); 
Ваши ответы
NaN
Объяснение:

Функция parseInt имеет 2 параметра, вторым параметром является система исчисления, к которой нужно привести строку. Строка '08' преобразуется согласно восьмиричной системе исчисления (феномен многих интерпретаторов JS), '0' преобразуется корректно, '8' в восьмиричной системе нет. Вызов parseInt('08',10) вернет 8.

Каким будет результат?
var a = new Array(5).join('5'); 
a;