function mod(x, x_div){  
        for (var i=x; i>=x_div; i -= x_div);    
                return i;
}function checkNum(str, min, max) {  
        if (str == "") {  
      alert("请输入你的选择"); 
    return false; 
           }    
        for (var i = 0; i < str.length; i++) {
                var ch = str.substring(i, i + 1);       
 if (ch < "0" || ch > "9") {
                        alert("请你输入数字");            
                        return false;        
                }    
        }    
  var val = parseInt(str, 10);   
 if ((val < min) || (val > max)) {   
alert("请注意你输入的信息,不要超过了"+max+"。");        
                return false;    
        }        return true;
}
麻烦详细讲解一下!!

解决方案 »

  1.   

    mod(x, x_div)是x除以x_div的余数,可以这样写 x%x_div
    checkNum判断str在min和max间
      

  2.   


    function mod(x, x_div){  
    //这是考试题吧?否则没必要这么麻烦,它实现的功能就是x%x_div,即模运算   
          for (var i=x; i>=x_div; i -= x_div); 
    /*for循环的语法该知道吧,这里是递减循环,每次让循环变量减去一个被除数,
    直到比被除数小就终止循环,那么终止时的循环变量就是所要的余数喽。值得提
    醒的是条件语句后面有个分号,表示这个循环是没有执行代码块的,每次循环都
    是改变一下循环变量值。i-=x_div是i=i-x_div的变体写法*/ 
                    return i; //将最终的循环变量,也即余数返回给函数
    } function checkNum(str, min, max) {
    /*这个函数的功能是检测一个数字型的字符串,其对应的数值是否介于数值min
    和数值max之间,满足这些条件就返回真,否则都返回假,这里用了很多return语句。
    return语句有两个作用:一是首先给函数返回值,二是终止函数执行*/
            if (str == "") {  
          alert("请输入你的选择"); 
        return false; 
              }    
            for (var i = 0; i < str.length; i++) { 
                    var ch = str.substring(i, i + 1); //从头至尾循环每次从字符串str中取出一个字符     
    if (ch < "0" || ch > "9") { //判断取出的字符是否超出“0”至“9”的范围
                            alert("请你输入数字");            
                            return false;        
                    }    
            }    
      var val = parseInt(str, 10);  //字符串str转换成十进制数值类型,并赋给变量val
    if ((val < min) || (val > max)) {  //判断值的大小是否超出min至max的范围
    alert("请注意你输入的信息,不要超过了"+max+"。");        
                    return false;    
            }        return true; //如果程序能执行到这里,表时所有条件都满足,那就返回真值

    </script>