0

这是一个例子。我有一个带有 id 工作日元素的页面。正如我在这里所做的那样,我只是将结果添加到 id 元素 weekday 的 innerHTML 中。

现在我的问题是只返回一周中的实际日期(例如星期日)然后在调用 Weekday 函数的实际页面中使用 innerHTML 是否更通用?

您对此事有何建议?

function Weekday()
{
   var currentTime = new Date();

   //Get currrent day by indexing in the array
   var weekday = new Array(7);
   weekday[0] = "Monday";
   weekday[1] = "Tuesday";
   weekday[2] = "Wednesday";
   weekday[3] = "Thusday";
   weekday[4] = "Friday";
   weekday[5] = "Saturday";
   weekday[6] = "Sunday";

   document.getElementById("weekday").innerHTML = weekday[currentTime.getDay()] + ":"; 
}

//托尼

4

2 回答 2

0

如果您创建一个只返回工作日名称的函数,那么您可以在其他地方重用该函数。另一种选择是传入一个参数id并使用它来选择您的元素。像这样

function Weekday(id)
{
   var currentTime = new Date();

   //Get currrent day by indexing in the array
   var weekday = new Array(7);
   weekday[0] = "Monday";
   weekday[1] = "Tuesday";
   weekday[2] = "Wednesday";
   weekday[3] = "Thusday";
   weekday[4] = "Friday";
   weekday[5] = "Saturday";
   weekday[6] = "Sunday";

   document.getElementById(id).innerHTML = weekday[currentTime.getDay()] + ":"; 
}

我会像这样完全重写函数

var weekday = (function() {    
    var weekday = ["Monday", "Tuesday", "Wednesday", "Thusday", "Friday", "Saturday", "Sunday"];
    return function(id) {       
       document.getElementById(id).innerHTML = weekday[new Date().getDay()] + ":"; 
    };
}());

你现在可以做这样的事情

weekday("myid");
于 2013-09-11T13:37:38.767 回答
0

我会创建一个只返回工作日的函数


解释数组,因为有很多关于 new Array()

new Array()[]

这就是我写作的原因

var weekdays=['Mo','Tu','We','Th','Fr','Sa','Su'];

然后

var WD=weekdays[0] //is Mo

有更少的变量

我添加了getDay()内部数组索引。

var WD=weekdays[new Date().getDay()]

如果我们把所有东西放在一起,我们就会得到。

var WD=['Mo','Tu','We','Th','Fr','Sa','Su'][new Date().getDay()]

这是功能。

function getWDay(){
 return ['Mo','Tu','We','Th','Fr','Sa','Su'][new Date().getDay()]
}

并添加添加自定义日期的可能性。所以你可以用其他方式使用它

function getWDay(date){
 return ['Mo','Tu','We','Th','Fr','Sa','Su'][date.getDay()]
}

这使您还可以在以后轻松扩展该功能。

function getWDay(date,length){
 return [
  'Monday',
  'Tuesday',
  'Wednesday',
  'Thusday',
  'Friday',
  'Saturday',
  'Sunday'
 ][date.getDay()].substr(0,length||10);
}

例子

getWDay(new Date(),2).toUpperCase() // SA
getWDay(new Date(),3) // Sat
getWDay(new Date()) // Saturday

然后随时设置

document.getElementById('day').innerText=getWDay(new Date()); //ie,webkit
document.getElementById('day').textContent=getWDay(new Date()); //moz,webkit
document.getElementById('day').innerHTML=getWDay(new Date()); //..mh

return在这种情况下,对于像这样的实用程序功能更好,您可以将其用于各种不同的事情。

于 2013-09-11T13:43:35.580 回答