麻烦理解if语句代码

时间:2015-02-03 16:47:05

标签: javascript html5

我正在阅读一本关于HTML5的书,有两行代码我不太明白

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

那么,首先创建一个音频元素并检查是否可以使用canPlayType方法? 那么,if语句中的代码是某种三元操作吗?

audio.canPlayType(' audio / mp3')输出'可能'并且mp3Support设置为''但在那行之后mp3Support输出true。任何提示都将非常感激。

2 个答案:

答案 0 :(得分:2)

  

所以,首先要创建一个音频元素

  

并检查是否可以使用canPlayType方法?

检查是否canPlayType是真值,但实际上这相同。

  

那么,if语句中的代码是某种三元操作吗?

没有

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

"" != audio.canPlayType('audio/mp3');测试是否为空字符串(并评估为truefalse

mp3Support =然后只分配了truefalse

可以更清楚地写成:

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

答案 1 :(得分:1)

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

这将变量初始化与布尔表达式结合起来。

以其他方式:

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