在JSLint中,为什么这个块是空的?

时间:2012-11-04 09:02:00

标签: javascript jquery jslint

我在JSLint上有点挣扎。我有以下代码:

// inside a for-loop
if ( aMatch.length > 0 ){
    temp =  wrap.find( aMatch );                                
    break;
} else if ( aMatch.length === 0 && o.siteMap[targetPath].length !== 0 ){
    temp = targetPath;
    break;
}

JSLint抱怨:

Empty block   "if ( aMatch.length > 0 ){"

问题:
该代码段有什么问题。 “块”对我来说不是空的......

感谢您的一些见解!

修改
这是问题中的整个功能(没有评论)

loopHistory: function (scope, setPageContainer) {

    var self = this,
        o = self.options,
        wrap = $('div:jqmData(wrapper="true")').length > 1 ? $('div:jqmData(wrapper="true")').last() : $('div:jqmData(wrapper="true")'),
        $loopLength = $.mobile.urlHistory.stack.length-1, 
        temp, aMatch, parsedPath, dUrl, targetPath, i;

    if ( scope === "internal") {
        if ( $loopLength >= 2) {

            for ( i = $loopLength; i>1; i--) {
                parsedPath = $.mobile.path.parseUrl( $.mobile.urlHistory.stack[i-1].url );      
                targetPath = parsedPath.search.length !== "" ? ( parsedPath.pathname + parsedPath.search ) : parsedPath.pathname;

            if ( setPageContainer.jqmData('id') === $.mobile.urlHistory.stack[i-1].pageContainer.jqmData('id') && targetPath !== $.mobile.path.parseUrl( $.mobile.urlHistory.stack[$.mobile.urlHistory.activeIndex].pageUrl ).pathname ) {

                aMatch = $('div.ui-page').filter(function(){ return $(this).jqmData('url') === targetPath; });

                if ( aMatch.length === 0 && o.siteMap[targetPath].length !== 0 ){

                }

                ... ahh yes.... 
                if ( aMatch.length > 0 ){
                    temp =  wrap.find( aMatch );                                
                    break;

确定。我明白了......

1 个答案:

答案 0 :(得分:6)

确定。我的错。在JSLint提到的块之前有一个空的if-else块。

if ( aMatch.length === 0 && o.siteMap[targetPath].length !== 0 ){  }


if ( aMatch.length > 0 ){
   temp =  wrap.find( aMatch );                                
   break;

从未注意到。