javascript - 为何传对象为参数,此段代码的没有返回-2,而是照常执行了。
ringa_lee
ringa_lee 2017-04-10 15:06:41
[JavaScript讨论组]

这是一个简单的对数组的冒泡排序,我里面有写a.length,可是我传一个非数组,比如一个空对象,却不是return -2,代码如下:

array.sort=function(a){//only for num
try{
  var max=a.length-1;

for(var j=0;j<max;j++){

for(var i=0;i<max;i++){

  if(a[i]>=a[i+1]){
   var tem=a[i+1];
    a[i+1]=a[i];
    a[i]=tem;
  }


}
}
return a;
}
catch(ex){
  return -2;
}

}

调用

var a={};

alert(array.sort(a));
ringa_lee
ringa_lee

ringa_lee

全部回复(2)
怪我咯

你可以根据需要用argument获取参数判断,然后自己throw new Error()~

ringa_lee

因为并不会出错啊,a.length为undefined 所以max的值就是NaN,然后到下边的循环,j < max的判断为假,所以不循环;然后直接返回a了 就

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号