jsはパラメータが配列であり、要素が数値であるか、または配列属性を持つオブジェクトであるかを検証します。

2269 ワード


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
 </head>
<script type="text/javascript">
function f(x,y,z){
  if(arguments.length!=3){
    throw new Error("function f called with"+arguments.length+"arguments,but expects 3 arguments");
  }
}
function z(){
  var m=Number.NEGATIVE_INFINITY;
  for(var i=0;i<arguments.length;i++){
    if(arguments[i]>m)
	  m=arguments[i];
  }
  alert(m);
}
function arrayCopy(/* array*/ from,/*index*/ from_start,/*array*/to,/*index*/ to_start,/*integer*/ length){
    

}
function easycopy(args){
  arrayCopy(args.from,args.from_start||0,args.to,args.to_start||0,args.length);
}
var a=[1,2,3,4];
var b=new Array(4);
easycopy({ from:a,to:b,length:4});
//     a         。
function sumArray(a){
  //       ,            
  if(( a instanceof Array)||(a&& typeof a== "object"&& "length" in a)){
    var total=0;
	for(var i=0;i<a.length;i++){
	  var element=a[i];
	    if(!element) {
		  continue;
		}
		//     number
		if(typeof element=="number"){
		  total+=element;
		}else{
		   //  number      
		  throw new Error("sum(): all array elements must be numbers");
		}
	}
	return total;
  }
   else {
         //sum         
     throw new Error("sum(a) argument a must be array");
   }
}
function Sub(){
  var array=[1,2,3,4,5];
  var value=sumArray(array);
  alert(value);
}
</script>
  
 <body onload="Sub();">
 </body>
</html>