关于一个js语句的意思

if (!/.(?:jpg|png|gif)$/.test(ext))
1.这条语句怎么理解?
2.里面的/ . ?: $ 分别是什么作用

这局代码是判断ext的类型,是jpg还是png还是gif,这用于图片类型的判断。!非运算是给整个后面的判断加的,表示不是以.png,或.jpg或.gif结尾
$表示匹配字符串的介绍位置
?:匹配冒号后的内容但是不获取匹配结果,意思就是只匹配是不是,有没有,不返回匹配的结果
/.转义字符,就是表示.

望采纳哦!!!!!