我得到NaN结果。显然有些事不对。但我无法弄清楚计算中出了什么问题。继承人代码:NaN JavaScript结果
var totalTime = video.duration;
var milliToHours = function (value) {
return value/60/60;
}
milliToHours (totalTime);
// howerver it returns NaN in console
我得到NaN结果。显然有些事不对。但我无法弄清楚计算中出了什么问题。继承人代码:NaN JavaScript结果
var totalTime = video.duration;
var milliToHours = function (value) {
return value/60/60;
}
milliToHours (totalTime);
// howerver it returns NaN in console
video.duration
video.duration
必须在函数执行时未定义。为您的函数添加console.log(value);
声明。
var totalTime;
var milliToHours = function(value) {
console.log(value);
return value/60/60;
}
console.log(milliToHours(totalTime)); // undefined => NaN
totalTime = null;
console.log(milliToHours(totalTime)); // null => 0
totalTime = 39856.6757;
console.log(milliToHours(totalTime)); // 39856.6757 => 11.071298805555555
是的,它是video.duration它的未定义,但是当我使用浮点值,就像你在最后一行做的那样,它工作正常 –
什么时候'viideo.duration'有一个值?是否有事件(即视频加载)被触发,以便您知道何时可以使用“milliToHours”功能?没有更多的细节或代码,没有更多的帮助可以提供。 –
你有没有检查'video.duration'是给实际价值? –
是的,它给出了我得到的浮点数值39856.6757 –
也许你打电话过早?即在视频完全加载之前。可能需要提供[最小化,完整和可验证的示例](https://stackoverflow.com/help/mcve) –