How do I make this JavaScript compatible with “use strict”?



window.onload = function() {
  init();
  var date = new Date();
  var dd = date.getDate();
  var mm = date.getMonth() + 1;
  var yyyy = date.getFullYear();

  //Add a zero if one Digit (eg: 05,09)
  if (dd < 10) {
    dd = "0" + dd;
  }

  //Add a zero if one Digit (eg: 05,09)
  if (mm < 10) {
    mm = "0" + mm;
  }

  minYear = yyyy - 80; //Calculate Minimun Age (<80)
  maxYear = yyyy - 15; //Calculate Maximum Age (>18)

  var min = minYear + "-" + mm + "-" + dd;
  var max = maxYear + "-" + mm + "-" + dd;

  document.getElementById("start").setAttribute("min", min);
  document.getElementById("start").setAttribute("max", max);

};

I know the issue is that “minYear” and “maxYear” are undeclared variables, but I’m not sure how I’m meant to declare them without breaking the code entirely?

Answer

minYear and maxYear are variables like the others (date, dd, mm, etc…).

You should declare them using the “var ” prefix, the first time you are using them.

var minYear = yyyy - 80;
var maxYear = yyyy - 15;


Source: stackoverflow