在返回或使用innerhtml之间处理结果的最佳方法是什么

时间:2013-09-11 13:34:24

标签: javascript

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

现在我的问题是回归更加通用 例如星期日的实际日期,然后在实际页面中使用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()] + ":"; 
}

//托尼

2 个答案:

答案 0 :(得分: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");

答案 1 :(得分: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在这种情况下对于这样的效用函数更好,可以用于各种不同的事情。