javscript练习(三)


编写一个函数,计算两个数字的和差积商

function calculator(num1,num2,sign){
         switch(sign){
                  case "+" : console.log(num1+num2);     break;
                  case "-" : console.log(num1-num2);        break;
                  case "*" : console.log(num1*num2);        break;
                  case "/" : console.log(num1/num2);        break;
         }
}


求圆的面积

		(function circle_area(a){//传入圆的半径
			console.log( Math.PI*Math.pow(a,2) );	
		})(2);

编写函数,判断一个字符串的内容是不是纯数字

		(function if_num(a){//传入圆的半径
			if(!isNaN(Number(a)))
				console.log(a+":是纯数字");
			else
				console.log(a+": 不是纯数字");
		})("121.1221");

		(function if_num(a){//传入圆的半径
			(!isNaN(Number(a))&&!(console.log(a+":是纯数字")))||(console.log(a+": 不是纯数字"));
			
		})("121.12");


编写一个函数,计算三个数字的大小,按从小到大的顺序输出。

		
		(function arr_sort(arr){//冒泡排序,参数为一个数组
			var tmp;
			for(var i=0;i<arr.length-1;i++)
				for(var j=0;j<arr.length-i-1;j++){
					if(arr[j]>arr[j+1]){
						tmp=arr[j];
						arr[j]=arr[j+1];
						arr[j+1]=tmp;
					}
					
						
				}
				
				
			for(var k in arr)
				console.log(arr[k]);
					
		})([12,1,33,432]);
		


编写一个函数,在页面上输出一个N行M列的表格,表格内容填充1~100的随机数字

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>Document</title> 
	<style>
		table{border:1px solid #666;border-spacing:0;border-collapse:collapse;text-align:center;}
		td{border:1px solid #999;height:20px;width:20px;}
		tr{border:none;}
		
	</style>
	
   
</head>  
<body>  
	 <label>请输入行:<input type="text" /></label>
	 <label>请输入列:<input type="text" /></label>
	 <input id="active" type="button" value="生成表格"/>
	 <div id="div_">
	 
	 </div>
      
</body>  
 <script>
		document.getElementById('active').οnclick=function(){
				var n=document.getElementsByTagName("input")[0].value;
				var m=document.getElementsByTagName("input")[1].value;
				
				var html_="";
				for(var i=0;i<n;i++){
					html_+="<table><tr>";
					for(var j=0;j<m;j++){
						html_+="<td>"+parseInt(Math.random()*100)+"</td>";
					}
					html_+="</tr></table>";
			
				}
				
				document.getElementById("div_").innerHTML=html_;
			};
		
		
		
		
	</script>
</html>  

求最大公约数,辗转相除法(递归)

		(function cal(m,n){
			if(n==0){
				console.log(m);
				return;
			}else{
				var r=m%n;
				m=n;
				n=r;
				return cal(m,n);
			}
			
			
		})(3,9);


		function cal(x,y){
			
				function cal_(x,y){
					if(x%2==0&&y%2==0){
						x/=2;
						y/=2;
						cal_(x,y);
					}
				}
				var z=x>y?x-y:y-x;
				return z==(x>y?y:x)?z:cal(z,(x>y?y:x));
		}
		console.log(cal(42,49));


编写一个函数,生成4位数字的验证码
function checkcode(){
        var num = parseInt(Math.random()*9000) + 1000;
        return num;
}

function checkcode(){
        var num = 0;
        do{
                num = parseInt(Math.random()*10000);           
        } while( num < 1000);
        return num;
}


求m-n之间数字的和
function sum(m,n){
        var sum = 0;
        if(m>n){
                for(var i=n; i<=m; i++){
                        sum += i;
                }
        } else {
                for(var i=m; i<=n; i++){
                        sum += i;
                }
        }
        return sum;
}


编写函数digit(num, k),函数功能是:求整数num从右边开始的第k位数字的值,如果num位数不足k位则返回0。
function digit(num,k){
        var knum = 0;
        for(var i=1; i<=k; i++){
                knum = num%10;
                num = parseInt(num/10);
        }
        return knum;
}


编写函数计算一个数字的长度
function getLength(num){
        var count = 0;
        while(num != 0){
                num = parseInt(num/10);
                count++;
        }
        return count;
}

function getLength(num){
        return num.toString().length;
}


编写一个函数,计算任意两个数字之间所能组成的奇数个数,数字必须是个位数。
比如:计算0~3之间能组成的奇数是: 01、03、13、21、23、31
function get(m,n){ 
        var count = 0;
        for(var i=n; i<=m; i++){
                for(var j=n; j<=m; j++){
                        if(i==j) continue;
                        if( (i*10+j)%2 != 0 ){
                                console.log(i*10+j);  
                                count++;
                        }
                }
        }
        return count;
}


某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,
加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,
第二位和第三位交换,请编写一个函数,传入原文,输出密文
function hash(num){
        var n1 = (num%10+5)%10;
        var n2 = (parseInt(num%100/10)+5)%10;
        var n3 = (parseInt(num%1000/100)+5)%10;
        var n4 = (parseInt(num/1000)+5)%10;
        return n1*1000+n2*100+n3*10+n4;
}


编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数求1/1+1/3+...+1/n
	function cal(n){
		
		console.log(n%2==0?even(n):odd(n));
		function odd(n){
			return n==1?1:(1/n+odd(n-2));
		
		}
		function even(n){
			return n==2?1/2:(1/n+even(n-2));
		
		}
	
	
	}
		
<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>Document</title> 
	<style>
		.box{width:500px;height:500px;background:#ccc;margin:50px auto;overflow:hidden;}
		p{font-size:20px;line-height:24px;padding-left:30px;line-height:24px;}
		.clear{zoom:1;}
		.clear:after{content:".";height:0;display:block;clear:both;visibility:hidden;}
		.box>div>div:first-child{background:blue;float:left;margin:30px;height:100px;width:200px;text-align:center;line-height:100px;}
		.box>div>div:nth-child(2){text-align:center;width:210px;float:right;height:100px;margin:30px 10px;background:#fff;}
		textarea{margin:30px;}
		div>div>div:after{content:".";display:inline-block;width:0;height:100%;vertical-align:middle;}
		span{display:inline-block;vertical-align:middle;}
	</style>
	
   
</head>  
<body>  
	<div class="box">
		<p>请使用鼠标操作DIV触发事件</p>
		<div class="clear">
			<div id="div_1">DIV</div>
			<div id="div_2"></div>
		</div>
		<p>请使用见胖操作输入框触发事件</p>
		<div class="clear">
			<textarea rows="6" cols="25" scroll="scroll-y" id="text_area"></textarea>
			<div id="div_3"></div>
		</div>
	</div>
	
</body>  
	<script>
		document.getElementById("div_1").οndblclick=function(){
			document.getElementById("div_2").innerHTML="<span>您刚刚双击了DIV,触发了ondblclick事件</span>";
			
		};
		document.getElementById("div_1").οnclick=function(){
			document.getElementById("div_2").innerHTML="<span>双击有惊喜!</span>";
			
		};
		document.getElementById("text_area").οnchange=function(){
			document.getElementById("div_3").innerHTML="<span>输入框内容被改变,触发了onchange事件</span>";
		};
		
	</script>
</html>  



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值