js中的双取反操作"!!"

来源:互联网 发布:七天网络阅卷app 编辑:程序博客网 时间:2024/05/18 01:57

偶然看到一段js代码

var canPlayAudioFiles = !!(document.createElement('audio').canPlayType);

这里出现了两个感叹号"!!",其实它不是一个操作符,而是我们熟悉的取反操作“!”执行了两次,为什么要这么写呢,其实就是将目标对象转变成对应的boolean类型而已。取反操作“!”会得到与目标对象代表的布尔型值相反的布尔值,而再做一次取反就得到了与其相同的布尔值。也就是说,对一个对象xx,执行Boolean(xx)和!!xx是一样的,只是编程技巧而已~

原创粉丝点击