在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/C++  HTML/ 請(qǐng)教這段js代碼中最后為什么還要寫一個(gè)return true?

請(qǐng)教這段js代碼中最后為什么還要寫一個(gè)return true?

String.prototype.endWith = function(str){  
     if(str==null || str=="" || this.length == 0 ||str.length > this.length){      
       return false;  
     }  
     if(this.substring(this.length - str.length)){  
         return true;  
     }else{  
         return false;  
     }  
     return true; //這句代碼的作用和意義是什么? 私以為以上兩個(gè)條件語(yǔ)句已經(jīng)包含所有情況-_-||
};  

如題

回答
編輯回答
放開她

不要怕,webstorm會(huì)告訴你unreachable code

webstorm還會(huì)幫你把代碼優(yōu)化成這樣

String.prototype.endWith = function (str) {
  if (str == null || str === "" || this.length === 0 || str.length > this.length) {
    return false;
  }
  return !!this.substring(this.length - str.length);
}; 
2017年8月19日 13:07
編輯回答
遺莣

你應(yīng)該自信點(diǎn),確實(shí)沒意義

2017年6月11日 12:59
編輯回答
晚風(fēng)眠

可能是作者的習(xí)慣,不寫不舒服斯基

2018年3月24日 10:13
編輯回答
護(hù)她命

就是沒什么用

2018年2月14日 06:10
編輯回答
冷咖啡

是有那么點(diǎn)點(diǎn)多余的感覺??!可能是作者的習(xí)慣...

2018年9月22日 15:31
編輯回答
毀憶

最后一行加個(gè)return true就是讓看代碼的人一看出這個(gè)方法帶返回值,在代碼設(shè)計(jì)最初應(yīng)該是

String.prototype.endWith = function(str){  
     return true;
}; 

然后再在內(nèi)部做具體的邏輯判斷

既然@代碼宇宙 非常嚴(yán)肅的批評(píng)了我的回答,怕我會(huì)誤導(dǎo)人民群眾,建議我修改答案。好吧,我就強(qiáng)調(diào)一下,我沒有說這樣寫是正確的,這只是代碼設(shè)計(jì)之初的歷史遺留,在開發(fā)測(cè)試時(shí),告訴后面的人這里需要返回布爾值,而添加的邏輯代碼似的return true變成了無效代碼,但是沒有被刪除而已,但在JS里并不影響運(yùn)行。沒人會(huì)在 else return 后面故意再寫個(gè)return吧,如果有人被誤導(dǎo)了,建議重學(xué) if-else。

2018年1月21日 01:36
編輯回答
懶豬

沒意義,根本進(jìn)不來

2017年10月21日 13:03
編輯回答
不討囍

確實(shí)走不到,可能看著更好看吧

2018年8月20日 05:23
編輯回答
澐染
String.prototype.endWith = function(str){  
     if(str==null || str=="" || this.length == 0 ||str.length > this.length){      
       return false;  
     }  
     if(!this.substring(this.length - str.length)){  
       return false;  
     }
      
     return true; 
};  

這樣就看起來舒服多了

2018年5月14日 00:28