Javascript 如何制作两个函数中的一个

Javascript 如何制作两个函数中的一个,javascript,function,Javascript,Function,我调用有参数和无参数的函数。我不知道如何把他们联合起来。谢谢你的帮助 功能1 normalizeTime(time) { var date = new Date(time * 1000); var hours = date.getHours(); var minutes = date.getMinutes(); var ampm = hours >= 12 ? 'pm' : 'am'; hours = hours %

我调用有参数和无参数的函数。我不知道如何把他们联合起来。谢谢你的帮助

功能1

    normalizeTime(time) {

      var date = new Date(time * 1000);
      var hours = date.getHours();
      var minutes = date.getMinutes();
      var ampm = hours >= 12 ? 'pm' : 'am';

      hours = hours % 12;
      hours = hours ? hours : 12; // the hour '0' should be '12'
      minutes = minutes < 10 ? '0' + minutes : minutes;

      var strTime = hours + ':' + minutes + ' ' + ampm;
      return strTime;
    },
normalizeTime(时间){
var日期=新日期(时间*1000);
var hours=date.getHours();
var minutes=date.getMinutes();
var ampm=小时数>=12?“下午”:“上午”;
小时数=小时数%12;
小时数=小时数?小时数:12;//小时数“0”应为“12”
分钟=分钟<10?'0'+分钟:分钟;
var strTime=hours+':'+minutes+''+ampm;
返回时间;
},
功能2

    getAmPmTime() {

      var date = new Date();
      var hours = date.getHours();
      var minutes = date.getMinutes();
      var ampm = hours >= 12 ? 'pm' : 'am';

      hours = hours % 12;
      hours = hours ? hours : 12;
      minutes = minutes < 10 ? '0' + minutes : minutes;

      var strTime = hours + ':' + minutes + ' ' + ampm;
      return strTime;
    },
getAmPmTime(){
变量日期=新日期();
var hours=date.getHours();
var minutes=date.getMinutes();
var ampm=小时数>=12?“下午”:“上午”;
小时数=小时数%12;
小时数=小时数?小时数:12;
分钟=分钟<10?'0'+分钟:分钟;
var strTime=hours+':'+minutes+''+ampm;
返回时间;
},

有条件地检查“时间”是否可用如何?在你的职能范围内:

let date = null;
if (time) {
  date = new Date(time * 1000);
} else {
  date = new Date();
}

这样,如果在没有任何参数的情况下调用函数,将创建一个新的日期对象。如果没有,它将用time参数设置日期。

您可以检查函数中是否有参数。示例实现:

normalizeTime(time) {
  var date = time ? new Date(time * 1000) : new Date();
  var hours = date.getHours();
  var minutes = date.getMinutes();
  var ampm = hours >= 12 ? 'pm' : 'am';

  hours = hours % 12;
  hours = hours ? hours : 12; // the hour '0' should be '12'
  minutes = minutes < 10 ? '0' + minutes : minutes;

  var strTime = hours + ':' + minutes + ' ' + ampm;
  return strTime;
}
normalizeTime(时间){
变量日期=时间?新日期(时间*1000):新日期();
var hours=date.getHours();
var minutes=date.getMinutes();
var ampm=小时数>=12?“下午”:“上午”;
小时数=小时数%12;
小时数=小时数?小时数:12;//小时数“0”应为“12”
分钟=分钟<10?'0'+分钟:分钟;
var strTime=hours+':'+minutes+''+ampm;
返回时间;
}

尝试使用如下默认参数:

joinedFunction(time = null){
      var date = time ? new Date(time * 1000) : new Date();
      var hours = date.getHours();
      var minutes = date.getMinutes();
      var ampm = hours >= 12 ? 'pm' : 'am';

      hours = hours % 12;
      hours = hours ? hours : 12; // the hour '0' should be '12'
      minutes = minutes < 10 ? '0' + minutes : minutes;

      var strTime = hours + ':' + minutes + ' ' + ampm;
      return strTime;
}
joinedFunction(时间=null){
变量日期=时间?新日期(时间*1000):新日期();
var hours=date.getHours();
var minutes=date.getMinutes();
var ampm=小时数>=12?“下午”:“上午”;
小时数=小时数%12;
小时数=小时数?小时数:12;//小时数“0”应为“12”
分钟=分钟<10?'0'+分钟:分钟;
var strTime=hours+':'+minutes+''+ampm;
返回时间;
}

如果不传递任何内容(或falsy参数),则与调用
GetAmpTime
函数相同;如果传递时间,则与调用
normalizeTime
函数相同。

您尝试了什么?无参数调用
normalizeTime()
并检查
time
将是什么(
console.log(时间)
)还有,你怎么能写三元运算却没有意识到一个简单的如果就能解决你的问题呢?谢谢你,我不明白我怎么没有注意到这么简单的解决方案。我需要一个突破,这对一个简单的a/B情况来说不是太过分了吗?对IE来说也不可用。谢谢你的帮助,我只是在学习,很多时候我没有注意到简单的解决方案谢谢为了帮助,我只是在学习,很多时候我没有注意到简单的解决办法,没关系。我们都在那里!考虑把这个标记为答案,如果它对你有帮助的话。谢谢你的帮助,我只是在学习,很多时候我没有注意到简单。solutions@MartinBla欢迎你。如果这是你正在寻找的解决方案,请批准我的答案。@MartinBlašchak你对我的答案投了赞成票,但你没有批准相同的答案。:)我还有一些东西要学:)例如使用stackoverflow