[英]Why is 10 less than 9?
我有一個功能switcher()
,它有一個Object參數video
。 如果video.start <= video.ende
,則應記錄為'Start'
。 在大多數情況下,它運行良好(例如: video.start = 1
和video.ende = 3
),但是當video.start = 9
和video.ende = 10
它將記錄為'End'
。
function switcher(video)
{
console.log("Start: " + video.start);
console.log("End: " + video.ende);
if(video.start <= video.ende) // Not working correctly
{
console.log("Start");
}
else
{
console.log("End");
}
}
console.log()
成功:
console.log: addon: Start: 1
console.log: addon: End: 3
console.log: addon: Start
console.log()
失敗:
console.log: addon: Start: 9
console.log: addon: End: 10
console.log: addon: End
為什么會這樣呢?
我怎樣才能解決這個問題?
聽起來video.start
和video.ende
是字符串,而不是數字,所以按字典順序而不是數字進行比較。 比較之前將它們轉換為數字。
if (Number(video.start) <= Number(video.ende))
或者,您可以修復創建video
對象的代碼,以便在那時將其轉換為數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.