我們可以借助F12在谷歌任意浏覽器頁面運作js,或者使用js線上運作代碼,以便我們更好檢查程式運作是合理與正确性。
function comperied(){
let arr1 = [111,555,666,888,125,421,637,890],
arr2 = [999,88,521,637,218,333,888,999,],
num1 = null,num2 = null;
for(let i = 0;i < arr1.length;i++){
for(let j = 0;j < arr2.length;j++){
if(arr1[i] === arr2[j]){
return console.log(arr1[i],`'arr1數組的第'+${i+1}+'個元素和arr2數組的第'+${j+1}+'個元素相同'`);
// console.log(arr1[i],`'arr1數組的第'+${i+1}+'個元素和arr2數組的第'+${j+1}+'個元素相同'`);
}
}
}
}
this.comperied();
js中關于條件語句中有return和沒有return的差別:
(1)有return
用于js腳本程式中需要傳回或者拿到某一個值,就那上面代碼來說:
if(arr1[i] === arr2[j]){
return console.log(arr1[i],`'arr1數組的第'+${i+1}+'個元素和arr2數組的第'+${j+1}+'個元素相同'`);
}
當程式執行到條件滿足arr1[i] === arr2[j]時就傳回了一個值,後面滿足條件的不會再走了,即此程式中的for循環滿足第一個條件傳回結果之後并不會繼續執行後續的for循環。如下圖所示:
(2)沒有return
if(arr1[i] === arr2[j]){
console.log(arr1[i],`'arr1數組的第'+${i+1}+'個元素和arr2數組的第'+${j+1}+'個元素相同'`);
}
當程式的條件語句中沒有return的時候,會列印出是以滿足條件的情況,會将for循環執行完,運作結果如下圖:
除了上面的有無return的問題,那麼我還有一個疑問,那return 和return false的差別是什麼呢?
return 隻是簡單的阻止目前function内部之後的代碼執行,相當于隻傳回一個值,不影響外部代碼;
return false能夠阻止整個語句子產品向下繼續執行,通常我們再使用它的時候,都是希望代碼不在往下執行了。而且,return false相對于return來說,還傳回了一個false。比如,請求回來出現什麼錯誤我們可以用到。比如上述代碼中我随意添加return false語句,結果都會有所不同,以程式和運作截圖為參考:
(一)、
1、
2、
3、
4、