我得到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) –