Как метод getDay в JavaScript определяет день?

Всем привет! Имеется следующий код:

var coun = new Date();
var itog1 = coun.getTime() / (1000 * 60 * 60 * 24);
var pik = new Date(2016,0,1,0,0,0);
var itog2 = pik.getTime() / (1000 * 60 * 60 * 24);
document.write("До нового года осталось:  " Math.round(itog1) - Math.round(itog2) + " ");
var myDays = ["Воскресения", "Понидельник","Вторник", "Среда", "Четверк", "Пятьница", "Субота"];
document.write(myDays[pik.getDay()]); // здесь getDay() как будет работать  
Как метод getDay() в последней строчке узнает, какой будет день?

Комментарии: 5

Александр Мальцев
Александр Мальцев
Во первых у Вас ошибка в строчке document.write, надо разницу заключить в скобки…
document.write("До нового года осталось:  " + (Math.round(itog2)- Math.round(itog1)) + " ");
Переменная myDays у Вас является массивом. Чтобы она вернула значение некоторого элемента, Вы ей должны передать в квадратных скобках его порядковый номер. Порядковым номером у Вас является день недели, который Вы получаете у даты, хранящейся в переменной pik с помощью метода getDay(). Данный метод возвращает число 0 — 6 (0 — Воскресенье, 1 — Понедельник и т.д.). Подставляя данное число (порядковый номер элемента) в квадратные скобки, получаете его значение (строку).
Askar
Askar
Порядковым номером у Вас является день недели, который Вы получаете у даты, хранящейся в переменной pik с помощью метода getDay(). Этого не понял, можете подробнее объяснить.
Askar
Askar
какой связь есть между gatDay и getDate
Александр Мальцев
Александр Мальцев
Массив — это такая структура, которая может хранить в себе множество различных значений. Доступ к этим значениям осуществляется с помощью индекса, т.е. порядкового номера.
Переменная myDays — это массив, она содержит множество значений. Первое значение этой переменной («Понедельник») можно получить если указать ей индекс 0, второе значение («Вторник») — если указать ей индекс 1 и т.д.
myDays[0]; //Понедельник
myDays[1]; //Вторник
...
Теперь пошли дальше…
pik.getTime() — возвращает Вам число, которая указывает день недели (0 — Понедельник и т.д.)

Т.е. получается:
myDays[pik.getDay()]; 
//1. pik.getDay() - возвращает число, например 0
//2. myDays[0] - получаете Воскресенье
Александр Мальцев
Александр Мальцев
Нет никакой связи, два разных метода