消息关闭
    暂无新消息!


请教各位大神一个问题这里的
!!$('<input type="file">').prop('files') 
!!window.URL && URL.createObjectURL
!!window.FormData
this.support.fileList && this.support.blobURLs
!this.support.formData

这些都是判断什么的啊

还有就是 !!和!有什么区别啊?

4个回答

︿ 2
任何一个值取!的结果就是一个bool值,已经取反操作一次,再来一次就回到原来的真值(双重否定等于肯定),不过呢这里的!!操作后,表达式的值会是bool值,比如:(5+6)结果是11,!(5+6)结果是false,!!(5+6)结果是true;这样的双重操作无非就是将原来值从非bool转化为bool。这么耐心给你讲解,希望采纳
︿ 1
!就是代表否,
!!就是二次取反 ,这写代码的估计是c之类的写多了.

上面是两个属性(应该是属于一个类的),一个support:里面有三个属性,取值都是为布尔值
init 初始化的函数,具体取值,看实际获取到的值
︿ 0
!!$('<input type="file">').prop('files') 
是判断当前浏览器中 <input type="file">元素是否有files属性

!!window.URL && URL.createObjectURL
写的不太正确。应该是
!!(window.URL && URL.createObjectURL)
判断当前浏览器window中有URL属性,并且URL中有createObjectURL属性

其它类似。
!是逻辑“非”运算符。!!就是两个逻辑“非”运算符。
意思是对一个值逻辑取反之后再取反。将这个值转换成真正的布尔类型(true/false)