如何更改javascript代码中的变量
我已经写了javascript代码来显示当前日期,它运行得很好。问题是,我想将var变量更改为let或const,但当我更改它时,它不起作用。你能帮助我吗?我想要现代的javascript代码 这是我的密码如何更改javascript代码中的变量,javascript,Javascript,我已经写了javascript代码来显示当前日期,它运行得很好。问题是,我想将var变量更改为let或const,但当我更改它时,它不起作用。你能帮助我吗?我想要现代的javascript代码 这是我的密码 const objToday = new Date(), weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'), dayOfWeek
const objToday = new Date(),
weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
dayOfWeek = weekday[objToday.getDay()],
domEnder = function() { let a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
curMonth = months[objToday.getMonth()],
curYear = objToday.getFullYear(),
curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
yesterday = (function(d){ d.setDate(d.getDate()-1); return d})(new Date);
var today = dayOfWeek;
var todaysDate = dayOfMonth + " " +curMonth + "," +curYear;
var currentTime = curHour + ":" + curMinute + curMeridiem;
var currenTDate = "today is " + dayOfWeek;
var curMonthDay = curMonth + dayOfMonth;
var yestDate = "Yesterday was: " + yesterday;
document.querySelector(".h11").textContent = today;
document.querySelector(".h12").textContent = todaysDate;
document.querySelector(".hour").textContent = currentTime;
document.querySelector(".h40").textContent = currenTDate;
document.querySelector(".h41").textContent = curMonthDay;
document.querySelector(".h42").textContent = yestDate;
当您使用var时,变量声明被提升并初始化为undefined。当您使用const或let时,它们会被提升,但不会初始化。所以当你说第5行是这里的问题时,你可以看到为什么今天抛出了一个错误。这里有一个小演示。您会注意到var示例如何给出undefined,而const示例给出index:40 Uncaught ReferenceError:无法在初始化之前访问'const_name'
//带var
var test1=d1;
console.logtest1;
var d1=新日期;
//有常数
常数test2=d2;
console.logtest2
const d2=新日期;定义不起作用。错误消息?它是否显示错误?也许您正在控制台中进行测试,并且变量已经定义好了?在初始化之前无法访问“today”时出现了一个错误。当我将var更改为const时,表明第5行有错误