簡體   English   中英

無法理解if語句代碼

[英]Trouble understanding if statement code

我正在閱讀有關HTML5的書,其中有兩行代碼我不太明白

var mp3Support,oggSupport;
var audio = document.createElement('audio');
if(audio.canPlayType) {
        mp3Support = "" != audio.canPlayType('audio/mp3');
}

因此,首先創建一個音頻元素,然后檢查canPlayType方法是否可以使用? 那么,if語句中的代碼是某種三元操作?

audio.canPlayType('audio / mp3')輸出'probably',並且mp3Support設置為'',但之后mp3Support輸出true。 任何提示將不勝感激。

因此,首先創建一個音頻元素

並檢查是否可以使用canPlayType方法?

檢查的目的是看canPlayType是否為真值,但實際上這是同一件事。

那么,if語句中的代碼是某種三元操作?

沒有。

audio.canPlayType('audio/mp3')可以返回多個值,其中一個是空字符串。

"" != audio.canPlayType('audio/mp3'); 測試以查看它是否不是一個空字符串(並評估為truefalse

mp3Support =然后被分配為truefalse

它可以更清楚地寫為:

mp3Support = ("" != audio.canPlayType('audio/mp3'));
 mp3Support = "" != audio.canPlayType('audio/mp3');

這將變量初始化與布爾表達式結合在一起。

以其他方式:

if(audio.canPlayType('audio/mp3')!="")
{
  mp3Support=true;
}
else
{
  mp3Support=false;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM