<!DOCTYPE HTML>
<html>

<head>
  <style>
    table {
      border-collapse: collapse;
    }

    td,
    th {
      border: 1px solid black;
      padding: 3px;
      text-align: center;
    }

    th {
      font-weight: bold;
      background-color: #E6E6E6;
    }
  </style>
  <meta charset="utf-8">
</head>

<body>


  <div id="calendar"></div>

  <script>
    'use strict';
    
    function createCalendar(id, year, month) {
      let elem = document.getElementById(id)
      let table = '<table><tr><th>пн</th><th>вт</th><th>ср</th><th>чт</th><th>пт</th><th>сб</th><th>вс</th></tr>';
      
      let day = new Date(year, month).getDay() || 7;
      let lastDay = new Date(year, month + 1, 0).getDate();
      let rows = Math.ceil( (lastDay-day) / 7) + 1;
      
      for (let r = 0, d = 1; r < rows; r++) {
        let tr = '<tr>';
        for (let c = 0; c < 7; c++) {
          let td = `<td>`;
          let nDay = r * 7 + c + 1;
          if ( (nDay >= day) && (nDay <= lastDay + 1)) {
            td += d++;
          }
          
          td += `</td>`;
          tr += td;
        }
        tr += '</tr>';
        table += tr;
      }

      console.log(lastDay);
      elem.innerHTML = table;
    }

    createCalendar('calendar', 2015, 10)
  </script>
</body>

</html>