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

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').onclick=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").ondblclick=function(){
			document.getElementById("div_2").innerHTML="<span>您刚刚双击了DIV,触发了ondblclick事件</span>";

		};
		document.getElementById("div_1").onclick=function(){
			document.getElementById("div_2").innerHTML="<span>双击有惊喜!</span>";

		};
		document.getElementById("text_area").onchange=function(){
			document.getElementById("div_3").innerHTML="<span>输入框内容被改变,触发了onchange事件</span>";
		};

	</script>
</html>  

javscript练习(三)的更多相关文章

  1. Javscript轮播 支持平滑和渐隐两种效果(可以只有两张图)

    原文:Javscript轮播 支持平滑和渐隐两种效果(可以只有两张图) 先上两种轮播效果:渐隐和移动   效果一:渐隐 1 2 3 4 效果二:移动 1 2 3 4 接下来,我们来大致说下整个轮播的思 ...

  2. webkit技术内幕读书笔记 (二、三)

    可视区和网页 通常网页比屏幕的可视区面积要大,因此当网页内容在可视区中放不下时,一般浏览器会提供滚动条. 从URL到构建完DOM树的过程 当用户输入网页URL的时候,WebKit调用其资源加载器加载该 ...

  3. 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)

    前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...

  4. 【原】FMDB源码阅读(三)

    [原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...

  5. Jquery的点击事件,三句代码完成全选事件

    先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

  6. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  7. 简谈百度坐标反转至WGS84的三种思路

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 基于百度地图进行数据展示是目前项目中常见场景,但是因为百度地图 ...

  8. 一起学 Java(三) 集合框架、数据结构、泛型

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  9. 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少

    开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...

随机推荐

  1. HDU.1394 Minimum Inversion Number (线段树 单点更新 区间求和 逆序对)

    HDU.1394 Minimum Inversion Number (线段树 单点更新 区间求和 逆序对) 题意分析 给出n个数的序列,a1,a2,a3--an,ai∈[0,n-1],求环序列中逆序对 ...

  2. get与post请求简单理解

    一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Http定义了与服务器交互的不同方法,最基本的方法有4种,分 ...

  3. 微信小程序踩过的坑

    之前用小程序开发工具做过一个项目了,最近又新开了一个项目,在登录的时候发现总是提示code不合法,找了半天也未发现原因 后来同事提醒是不是因为开发工具里设置的AppId的问题,果断将当前工具里默认Ap ...

  4. Java BLOB 数据的插入与读取 操作

    package com.lw.database; import java.io.FileInputStream; import java.io.FileOutputStream; import jav ...

  5. 使用RVM轻松部署Ruby环境

    Ruby用得不多,但发现有业务需要部署指定的版本和插件.起初找了一些Fedora的src.rpm重新打包,发现依赖问题比较多,最终还是费劲的把el6的包编出来了. 不巧今天又有业务要求el5的包,原本 ...

  6. (4.2)基于LingPipe的文本基本极性分析【demo】

    酒店评论情感分析系统(四)—— 基于LingPipe的文本基本极性分析[demo] (Positive (favorable) vs. Negative (unfavorable)) 这篇文章为Lin ...

  7. 云风pbc源码alloc.c

    #include <stdlib.h> #include <stdio.h> // 用于统计内存的申请和释放次数匹配 ; void * _pbcM_malloc(size_t ...

  8. 【POJ】2142 The Balance 数论(扩展欧几里得算法)

    [题意]给定a,b,c,在天平左边放置若干重量a的砝码,在天平右边放置若干重量b的砝码,使得天平两端砝码差为c.设放置x个A砝码和y个B砝码,求x+y的最小值. [算法]数论(扩展欧几里德算法) [题 ...

  9. 20155117王震宇 2006-2007-2 《Java程序设计》第一周学习总结

    20155117王震宇 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 尽量简单的总结一下本周学习内容 尽量不要抄书,浪费时间 看懂就过,看不懂,学习有心得的 ...

  10. phpStudy 虚拟主机

    转载:http://blog.csdn.net/sinat_35861664/article/details/53557574 windows下配置虚拟主机,实现多域名访问本地项目目录 1.Apach ...