Javascript 如何避免;空";与match()匹配
我正在使用一种方法在代码中查找媒体查询Javascript 如何避免;空";与match()匹配,javascript,null,match,Javascript,Null,Match,我正在使用一种方法在代码中查找媒体查询 function checkMediaQueries() { var css = cssText; var patt1 = /@media/gi; countMQ = css.match(patt1).length; if (countMQ == 0) { return false; } else { return true; } } 当它找到一些媒体查询时,一切正常。但是
function checkMediaQueries() {
var css = cssText;
var patt1 = /@media/gi;
countMQ = css.match(patt1).length;
if (countMQ == 0) {
return false;
} else {
return true;
}
}
当它找到一些媒体查询时,一切正常。但是当该方法找不到任何值时,它不会返回任何值,因为countMQ为null。我知道这个问题,但找不到解决办法
我如何避免这个结果并使我的方法返回false呢
Thx以获取帮助删除
.length
,因为null没有长度
var countMQ = css.match(patt1);
并检查truthy,而不是0
if (countMQ) {
return true;
} else {
return false;
}
如果你不想说得更具体些,甚至是null
if (countMQ === null) {
或者更简单
function checkMediaQueries() {
return cssText.match(/@media/gi) ? true : false;
}
谢谢。当我实际需要匹配的数量时,我该如何处理?就像我想在我能找到的时候返回其他东西,例如3个媒体查询?match会返回匹配数,所以你可以用它代替booleanYep,但是我的问题是,当没有匹配时会出现错误。match会返回匹配数或null,所以你可以检查null,如果它不是null,长度会告诉你匹配的数量。谢谢,但我不确定如何在代码中实现这一点,你有没有给我举个例子?