这是一个简单的对数组的冒泡排序,我里面有写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));
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你可以根据需要用argument获取参数判断,然后自己throw new Error()~
因为并不会出错啊,a.length为undefined 所以max的值就是NaN,然后到下边的循环,j < max的判断为假,所以不循环;然后直接返回a了 就