Мои задачи по Javascript
Случайная задача
Список всех задач

Задача 41

var x = 0;
let y = 5;

function MakeObj() {
	this.x = 1;
	this.y = 2;
}

var obj = new MakeObj();

MakeObj();

// соединяем числа в одну строку:
let z = ''.concat(x, y, obj.x, obj.y, window.x, window.y); 

console.log(z); // ??
Какую строку выведет консоль?
1
2
3
4
5
6
7
8
9
10
11
← Задача 40Задача 42 →
Пояснение Строка MakeObj(); не содержит оператора new и поэтому вызвала функцию-конструктор как обычную функцию.
После этого вызова функция совершала действия с глобальным объектом window.
Все var-переменные становятся свойствами объекта window, а let-переменные не становятся.
Поэтому получилось, что одновременно существуют глобальная let-переменная y и свойство window.y, содержащие разные значения.



Написать сообщение - отзыв, пожелание и т.п.