2014-11-04 104 views
1

我需要一些明显的指向我的JS函数。Javascript OO函数

下面的代码工作,但我想在任何地方它来调用:

var pattern = /(\d{2})\-(\d{2})\-(\d{4})/; 
var date = entry.date.split(' '); 
var date = date[0]; 
var date = new Date(date.replace(pattern,'$3-$2-$1')); 
var year = date.getYear(); 
var month = date.getMonth(); 
var day = date.getDay(); 

什么是放置在这样一个全球性的功能最好的做法,所以我可以做adjustDate(string)。双点(可惜,不是我的力量)解释我如何也可以访问所有对象,如yearmonth,day

提前致谢!

+0

是什么,它的输出?我的意思是,在处理完成后需要访问哪些部分? '日期'变量? – jwatts1980 2014-11-04 16:33:59

回答

1

我只想返回date没有抽象的现有方法

function AdjustedDate(dateString) 
{ 
    return new Date(dateString.split(' ')[0].replace(/(\d{2})\-(\d{2})\-(\d{4})/, '$3-$2-$1')); 
} 

var ad = AdjustedDate(entry.date); 

alert(ad); 
alert(ad.getDay()); 
1

将条目传入函数,然后传递包含所需信息的对象。然后就像访问普通的JS对象一样访问它。

function adjustDate(entry) { 
    var pattern = /(\d{2})\-(\d{2})\-(\d{4})/; 
    var date = entry.date.split(' '); 
    var date = date[0]; 
    var date = new Date(date.replace(pattern,'$3-$2-$1')); 
    var year = date.getYear(); 
    var month = date.getMonth(); 
    var day = date.getDay(); 
    return { day: day, month: month, year: year } 
} 

var dateObject = adjustDate(/*entry*/) 

dateObject.day // day 
dateObject.month // month 
2

难道你不能只声明函数吗?

function adjustDate(entry) { 
    var date = entry.date.split(' '); 
    date = date[0]; 
    date = new Date(date.replace(/(\d{2})\-(\d{2})\-(\d{4})/, '$3-$2-$1')); 

    return { 
     year: date.getYear(), 
     month: date.getMonth(), 
     day: date.getDay() 
    }; 
}