【问题标题】:Firefox & Safari "unexpected '*' token", Not in chromeFirefox 和 Safari “意外的 '*' 令牌”,不在 chrome 中
【发布时间】:2017-01-17 19:42:14
【问题描述】:

我做了这个功能:

changeTimeFormat :function(timeCode){
  var timeCodes = timeCode.split(/[:.]+/),
      hh = timeCodes[0],
      mm = timeCodes[1],
      ss = timeCodes[2],
      msmsms = timeCodes[3],
      newTimeCode = (hh * 60**2) + (mm * 60) + (ss*1) + (msmsms / 1000);
  return newTimeCode;
}

...获取特定时间码并将其格式从 HH:MM:SS,MsMsMs 更改为 SS.MsMs。

它在 Chrome 上就像一个魅力,但 Safari 和 FireFox 在加载脚本时抛出一个“SyntaxError: expected expression, got '*'”消息,关于第一个 '*' 符号。知道为什么吗?谢谢。

【问题讨论】:

  • 你最好使用数学函数,我认为 safari 和 firefox 还没有支持这种代数运算。

标签: javascript google-chrome firefox safari


【解决方案1】:

我认为这个错误是因为 60**2 我认为它在 firefox 或 safari 中尚不支持(如果我错了,请纠正我)

另一种方法是使用Math.pow(base,exponent)

changeTimeFormat :function(timeCode){
   var timeCodes = timeCode.split(/[:.]+/),
   hh = timeCodes[0],
   mm = timeCodes[1],
   ss = timeCodes[2],
   msmsms = timeCodes[3],
   newTimeCode = (hh * Math.pow(60,2)) + (mm * 60) + (ss*1) + (msmsms / 1000);
  return newTimeCode;
}

【讨论】:

  • 谢谢。做到了。
猜你喜欢
  • 1970-01-01
  • 2017-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-20
  • 1970-01-01
  • 2011-07-01
  • 2016-05-02
相关资源
最近更新 更多