老师请检查。

来源:2-37 编程练习

qq_触掱钶忣倖福_0

2019-01-02 19:48:20

但是return -1;为啥写在for{}内没有输出了,这和if{}else{}的判断不一样吗

<!DOCTYPE html>

<html>
<head>
    <meta charset="UTF-8">
    <title> 封装indexOf方法</title>
</head>
<body>
<script>
   //补充代码
  function arrindexOf(arr1,a){
       for(var i=0;i<arr1.length;i++){
           if (arr1[i]===a) {
               return i;
           }
       }
       return -1;
   }
   var arr=[1,2,3,4,5];
   var num=arrindexOf(arr,4);
   document.write(num);
</script>
</body>
</html>

写回答

1回答

好帮手慕夭夭

2019-01-03

你好同学 , 这是代码执行顺序的问题 , 因为你把return -1; , 写在里面 , 那么第一次循环时 , 如果不满足if中条件 , 就会执行else里面的return -1; ,自然就会返回-1 . 例如你代码中检索的是4 ,当第一次循环匹配数组中的1不等于4的时候 , if不会执行 ,然后执行else中 return 就不会再继续循环 ,返回-1了

希望解答了你的疑惑 , 祝学习愉快 ,望采纳 .


1

0 学习 · 36712 问题

查看课程

相似问题