请问老师

请问老师

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title> 封装indexOf方法</title>

</head>

<body>

<script>

   //补充代码

   var nums=[1,3,5,9,11,4,7,6];

   function ArrayIndexOf(arr,value){

       for(var i=0;i<arr.length;i++){

           if(arr[i]===value){

           return i;

            }

       }

       return -1;//如果取不到等值的话执行返回值-1

   }

   var add=ArrayIndexOf(nums,11);

   document.write(add);

</script>

</body> 

</html>

问题描述:

​老师能不能帮忙注释下,不是很理解这段代码,

function ArrayIndexOf(arr,value){

       for(var i=0;i<arr.length;i++){

           if(arr[i]===value){

           return i;

            }

       }

       return -1;//如果取不到等值的话执行返回值-1

   }

   var add=ArrayIndexOf(nums,11);


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,可以参考下方注释理解:

 var nums = [1, 3, 5, 9, 11, 4, 7, 6];
// ArrayIndexOf方法接收两个参数,第一个参数是要被检测的数组,第二个参数是要判断的值
function ArrayIndexOf(arr, value) {
// 循环数组
for (var i = 0; i < arr.length; i++) {
// 如果数组中的值与调用ArrayIndexOf方法时,传递的第二个参数相等,就返回索引
if (arr[i] === value) {
return i;
}
}
return -1;//如果在数组中没有找到检测的值,就返回-1
}
// 调用ArrayIndexOf,第一个参数是nums数组,第二个参数是11,也就是在nums这个数组中查找11这个数字,如果查找到了11,会返回数字11的索引,如果查找不到,就返回-1
var add = ArrayIndexOf(nums, 11);
// 将结果输出在页面上
document.write(add);

​祝学习愉快~

  • qq_慕容254374 提问者 #1

    function ArrayIndexOf(arr, value)里面的arr是不是真实的数组就是nums,value就是11。
    然后就是这段代码浏览器是先执行function ArrayIndexOf(arr, value)还是ArrayIndexOf(nums, 11)
    2021-07-06 12:53:38
好帮手慕言 2021-07-06 13:39:32

同学你好,解答如下:

1、理解的是对的。

2、函数不加括号就不会执行函数中的代码,代码中ArrayIndexOf(nums,11)是执行ArrayIndexOf并给此函数传递参数。

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师