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

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

+99

  • Кто проходил: DmitryDi
  • Дата прохождения: 30.05.2018
Что будет выведено на консоль.
switch ("a") { 
   case "b": 
       console.log("b"); 
       break; 
   default: 
       console.log("d"); 
   case "c": 
       console.log("c"); 
} 
Ваши ответы
d c
Объяснение:

Выполниться без ошибок,
т.к. в блоке default нет break,
то выведется: 'd' и 'c'

Чему равно свойство length (в строках a, b) массива r.
 
   var r = ['a', 'l', 'p', 'h'];       
 
   r.length = 10;      
       //a. r.length = ?  
 
   delete r[0];     
       //b. r.length = ? 
Ваши ответы
a. 10
b. 10
Выберите все варианты правильно составленных условных операторов.
Ваши ответы
if (i == 5) {}
Чему будет равна переменная а?
var a = 5; 
var a; 
Ваши ответы
5
Что выведет на экран следующий код?
var obj = { a: 2 }; 
function f( obj ) { 
   obj = { a: 3 }; 
} 
f( obj ); 
alert( obj.a ); 
Ваши ответы
2
Объяснение:

В функцию f сама ссылка на объект передаётся по значению. Копии этой ссылки присваивается новый объект, при этом ссылка вне функции продолжает указывать на старый объект, поэтому выведется 2.

что будет выведено в консоли?
var str;
var i = '0';
console.log(str+i); 
Ваши ответы
undefined0
Объяснение:

Суть в том, что переменная str НЕ инициализирована, а так как переменная i - это символ, то в результате имеем на выходе: undefined0

Что выведет Alert?
var a = isNaN("2014"); 
alert(a); 
Ваши ответы
False
Объяснение:

JavaScript автоматически переводит "2014" в число 2014 и возвращает false, так как это число.

Какое значение будет выведено в консоли, в результате выполнения кода:
 
<script>
    var n = 3 ;
    var b = true;
    n = n.toString(2) + Number(b) + n.toString() - 3 + !Number(b); 
    console.log(n);
</script>
 
Ваши ответы
1110
Объяснение:

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

По какой причине не желательно использовать оператор with?
Ваши ответы
Он сильно замедляет работу программы
Объяснение:

Есть две причины по которым with является устаревшим:

Что выведет на консоль?
var myObj = { 
   name: "alex", 
}; 
console.log( myObj.hasOwnProperty('name') );  
Ваши ответы
true
Объяснение:

Метод hasOwnProperty позволяет нам знать, есть ли у объекта конкретное
свойство. В нашем случаи свойство name.

Какое ключевое слово нужно вписать вместо _____, чтобы получить диалоговое окно с текстом «Hello!»
function sayHello() 
{  
var privet = “Hello!; 
_____ privet;  
}  
alert(sayHello()); 
Ваши ответы
return
Объяснение:

return - возвращает свой аргумент как значение данной функции

Что выведет этот код?
var a = []; 
console.log((a == a) + ' ' + (a == !a));
Ваши ответы
true true
Объяснение:

В первом выражении все понятно, идет сравнение ссылки с самой собой. А во втором операнд "!a" преобразовывается к boolean и соответственно порождает преобразование к boolean операнда "a".
[]==false (пустой массив => false),
![]==false (ссылка на объект (в данном случае на массив) с оператором ! => false)
т.е. [] == ![]

Какое значение будет выведено в консоли, в результате выполнения кода:
<script>
var x ;
x = 'x0ff ' - 1;
if (x != x) {
    console.log(true);
} else {
    console.log(x);
}
</script>
Ваши ответы
true
Объяснение:

Выражение x='x0ff ' - 1 равно NaN. Проверка x!=x
есть ничто иное как проверка на NaN

Как правильно писать IF конструкцию в JavaScript?
Ваши ответы
if (i == 5)
Чему будет равно значение x[0] и x===y после исполнения данного кода?
var x = []; 
var y = x; 
y[0] = 7; 
Ваши ответы
undefined
true
Объяснение:

Объекты имеют ссылочный тип. Это значит, что операция присваивания объекта (или массива) переменной фактически присваивает ссылку: она не создаёт новую копию объекта. Девид Флэнаган JavaScript. Подробное руководство 6-е издание. стр.66 ISBN 978-5-93286-215-5