关于return的问题

function mutation(arr) {
  // 请把你的代码写在这里
  var arr1=arr[0].toLowerCase();
  var arr2=arr[1].toLowerCase();
  for(var i=0;i<arr1.length;i++){
    if(arr1.indexOf(arr2.charAt(i))==-1){
        return false;
    }else{
        return true;             这里是我第一次写的,return貌似放错地方了
    }                 
  }
}
mutation(["hello", "hey"]);


function mutation(arr) {
  // 请把你的代码写在这里
  var arr1=arr[0].toLowerCase();
  var arr2=arr[1].toLowerCase();
  for(var i=0;i<arr1.length;i++){
    if(arr1.indexOf(arr2.charAt(i))==-1){
        return false;
    }    
  }
  return true;                    这是修改之后的,return放在for循环的外面就可以了
}
mutation(["hello", "hey"]);

请问!!! 我两次写的代码中,return的含义有什么不同吗?? 我实在是弄不明白了, 有时候写了一大堆,然后return放错地方导致功亏一篑。。。

超级巨浪大切
浏览 1090回答 1
1回答

QQ_随意

return 就是返回一个结果上面那个函数在做第一次循环的时候就return了,代码就停止执行,返回return的结果第二个函数循环里面只有满足条件才会return false,如果循环完都没有条件满足,就return true;也就是说在一个作用域下return 返回一个结果并让该作用域下的代码停止执行
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript