我在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;
确定。我明白了......
答案 0 :(得分:6)
确定。我的错。在JSLint提到的块之前有一个空的if-else块。
if ( aMatch.length === 0 && o.siteMap[targetPath].length !== 0 ){ }
if ( aMatch.length > 0 ){
temp = wrap.find( aMatch );
break;
从未注意到。