关于判断空值的问题,请老师解答。

关于判断空值的问题,请老师解答。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title> 封装indexOf方法</title>
</head>
<body>
<script>
   //补充代码
   function newIndexOf(arr,index,value){
       if(index!=NaN){
           for(i=index;i<arr.length;i++){
                if(arr[i]===value){
                    return i;
                }
            }
            return "没找到";
       }else if(index==null){
           var index=0;
           for(i=index;i<arr.length;i++){
                if(arr[i]===value){
                    return i;
                }
            }
            return "没找到";
       }
   }
   arr=[1,2,3,4,5,6,7,8,9,10]
   document.write(newIndexOf(arr,"",7));
   //如果newIndexOf(arr,,7)这样的情况下就运行不了。【空值】和【“”】有什么不同呢,又该如何解决呢?
   
   
</script>
</body>
</html>


正在回答 回答被采纳积分+1

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

1回答
好帮手慕星星 2020-04-09 11:21:09

同学你好,问题解答如下:

1、newIndexOf(arr,,7)这样写是有语法问题的,浏览器中会报错

http://img1.sycdn.imooc.com//climg/5e8e933609ab122707420045.jpg

封装的函数有三个参数,中间的不能不写,即使后面的参数少一个,中间的也不能空着。而“”是空字符串,有意义的参数,所以没有问题。

2、代码中第一个if判断是有问题的,没有任何一个值等于NaN,自身也不相等,所以永远会进入if条件语句。其实不需要第二个参数index,两个参数就可以,如下

http://img1.sycdn.imooc.com//climg/5e8e940409a2f63107270423.jpg

不需要考虑很复杂,自己再测试下,祝学习愉快!

  • 提问者 GKWBTT #1
    谢谢你的答案。看JavaScript里自带的函数可以根据【位置】和【值】来寻找想要的数,所以心血来潮想实现一下(数组,起点,值)这样的函数封装。
    2020-04-09 16:50:28
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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