JavaScript 4

练习1

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
//1、从弹框中录入一个字符
var c = prompt("请输入一个字符:");
//2、判断是否为数字
var isNum = c >= '0' && c <= '9';
//3、判断是否为英文
//3.1 判断是否为小写英文
var isSmall = c >= 'a' && c <= 'z';
//3.2 判断是否为大写英文
var isCaps = c >= 'A' && c <= 'Z';
//3.3 用一个变量保存是否为英文
var isENG = isSmall || isCaps;
//4、判断是否为汉字
var isCHN = c >= '\u4e00' && c <= '\u9fa5';
//5、根据判断结果打印输出
if(isNum){
console.log(c+"是一个数字");
}else if(isENG){
console.log(c+"是一个英文字符");
}else if(isCHN){
console.log(c+"是一个汉字");
}else{
console.log(c+"是其他字符");
}
</script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var input = prompt("欢迎来到中国移动\n1、查话费请按1\n2、了解宽带请按2\n3、For English press 3\n4、人工服务请按 0");
switch(input){
case "1":
alert("话费查询中,请稍后...");
break;
case "2":
alert("宽带业务尚未开通...");
break;
case "3":
alert("Sorry,我不懂英语...");
break;
case "0":
alert("人工坐席忙,请稍后...");
break;
default:
alert("输入有误!!!");
}
</script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var input = prompt("请输入一个数字(0-7):");
switch(input){
case "1":
console.log("今天吃红烧肉");
break;
case "2":
console.log("今天吃红烧鱼");
break;
case "3":
console.log("今天吃红烧王八");
break;
case "6":
case "7":
console.log("今天休息");
break;
default:
console.log("输入有误!!!");
break;
}
</script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
var year = Number(prompt('Year:'));
var month = Number(prompt('Month:'));
var day = Number(prompt('Day:'));
var totalDays = 0;
var isRun=year%4==0&&year%100!=0||year%400==0;
switch(month-1){
case 11:
totalDays += 30;
case 10:
totalDays += 31;
case 9:
totalDays += 30;
case 8:
totalDays += 31;
case 7:
totalDays += 31;
case 6:
totalDays += 30;
case 5:
totalDays += 31;
case 4:
totalDays += 30;
case 3:
totalDays += 31;
case 2:
totalDays += 28;
if(isRun){
totalDays += 1;
}
case 1:
totalDays += 31;
}
totalDays += day;
console.log("是第"+totalDays+"天");
</script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
//1、声明循环条件,赋值为 1
var i = 1;
//2、循环结构 :条件 当 i 小于等于 100的时候,执行操作
while(i <= 100){
console.log("Hello World");
//更新循环条件
i++;//i=i+1;i+=1;
}
</script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!-- <script>
//条件:从1开始到100结束
//操作:打印循环条件的值
var i = 1;
while(i <= 100){
console.log(i);
//更新循环条件
i++;
}
</script> --> <!-- <script>
//条件:从1开始,到100结束
//操作:累加 循环条件 的值
var i=1,sum=0;
while(i <= 100){
sum += i;//sum = sum + i;
i ++;
}
console.log("1-100之间的和为:"+sum);
</script> --> <!-- <script>
//条件:从1开始到100结束
//操作:判断循环条件是否为 3 的倍数
var i=1;
while(i <= 100){
if(i % 3 == 0){
console.log(i);
}
i++;
}
</script> --> <!-- <script>
//条件:从 2000 开始 到 2050 结束
//操作:判断条件是否满足闰年的要求
var i = 2000;
while(i <= 2050){
if(i%4==0&&i%100!=0||i%400==0){
console.log(i);
}
i++;
}
</script> --> <script>
var year = Number(prompt('Year:'));
var month = Number(prompt('Month:'));
var day = Number(prompt('Day:'));
var totalDays = 0;
var isRun=year%4==0&&year%100!=0||year%400==0; //条件:从1月开始,到month-1月为止
//操作:将这些月份的天数进行累加
var i = 1;
while(i < month){
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
totalDays += 31;
break;
case 4:
case 6:
case 9:
case 11:
totalDays += 30;
break;
case 2:
totalDays += 28;
if(isRun){
totalDays += 1;
}
}
i++;
} totalDays += day;
console.log("共"+totalDays+"天");
</script>
</body>
</html>

分支结构

1,if 结构(略)

2,switch 结构

作用: 等值判断;

语法:switch(变量){

  case 值1:

    语句块1;

    //break;//跳出switch 结构, 可选  

    case 值1:

      语句块1;

      //break;//跳出switch 结构, 可选

  。。。。。。。

    default:

      语句块n;

      /*所有case都未匹配上时,才执行default*/

  }

  注意:1, 变量和case后的值的判断,采用 === 来判断的;

      2,break ,如果省略break的话,则从匹配的case块开始,依次向下执行(执行下面所有case块的内容 或 default的内容),直到碰见break或执行结束为止;

练习:
从弹框中录入1-7任意一个数字表示星期1~星期日
输入1:今天吃红烧肉
输入2:今天吃红烧鱼
输入3:今天吃红烧王八
输入4:今天吃红烧皮皮虾
输入5:今天吃红烧排骨
输入6:今天休息
输入7:今天休息
其他:输入有误!

循环结构

作用: 重复的执行相同或相似的代码;

循环的二要素:

  (1)循环条件: 循环从什么时候开始,到什么时候结束;

  (2)循环操作: 循环中要做的事情(要执行的代码);

ex:
1、控制台中输出100遍Hello World
条件:从第1遍开始 到 第100遍结束
操作:输出 Hello World
2、打印 1-100 之间所有的数字
条件:从第1遍开始 到 第100遍结束
操作:输出 条件 的值

while 循环

语法: while(循环条件){

      循环操作

      }

流程:
1、判断循环条件(boolean值/表达式)
2、如果条件为真,则执行循环操作
2.1 执行完操作后,再回来判断条件...
3、如果条件为假,则退出循环
ex:
1、打印 100 遍 Hello World
条件:从 1 开始 ,到 100 结束
操作:打印 Hello World
练习:
1、打印 1-100 之间所有的数字
2、计算 1-100 之间所有数字的和并打印输出
3、打印 1-100 之间所有3的倍数的数字

4、打印 2000 - 2050 之间所有的闰年
5、将日期计算器更改为循环版本

do ...while 循环:

语法:do{

  循环操作

  }while (循环条件);

  流程:1,先执行循环操作; 2,再判断循环条件; 3,如果条件为真,则继续执行循环操作,否则退出循环;

猜数字游戏:
1、声明一个1-100之间的随机整数
随机数:Math.random() 得到一个0-1之间的小数
var r=parseInt(Math.random()*100)+1
2、允许用户循环的录入数据,与随机数进行比较
如果输入的数据比随机数大,提示猜大了
如果输入的数据闭随机数小,提示猜小了
否则:提示猜对了,退出游戏
或者,用户输入 exit 也可以退出游戏

循环的流程控制:

(1) break   跳出循环结构;

(2)continue  结束本次循环,继续执行下次循环;

for循环:

(1)

while
打印 1-100 之间所有的数字
var i=1;//循环条件的初始化
while(i <= 100){ //循环条件的判断
console.log(i);//循环操作
i++;//更新循环条件
}

(2)for循环:

语法: for (表达式1;表达式2;表达式3){

      循环条件;

      }

说明:表达式1:循环条件的初始化;

     表达式2: 循环条件的判断;

     表达式3: 更新循环条件;

流程: (1)先执行表达式1,即循环条件初始化(执行1次);

  (2) 再判断表达式2的值,true 或false ;

  (3)如果为true ,则执行循环操作; 如果为false,则退出循环条件;

  (4)执行完循环操作后,再执行表达式3;

  (5)再判断表达式2,同步骤2....

练习:
1、从弹框中随意输入一个数字,判断其是否为素数(质数)
素数:只能被1和他自己整除的数字
2、打印九九乘法表中的一行数据
从弹框中随意输入一个数字,输入几,则打印第几行

ex : 输入 3
1*3=3 2*3=6 3*3=9

console.log();

循环嵌套:

  允许在一个循环中再出现另一个循环;

for (var i=1;i<=10;i++){  // 外层循环

  for(var j=1;j<=10;j++){  //内层循环

}

外层循环走一次,内层循环走一轮;

函数 -function

1,函数的声明:

  function 函数名(参数){

    函数体;

  }

注:

(1)、参数
参数列表,允许声明0或多个参数,多个参数的话,使用 , 隔开即可;无默认参数;
(2)、返回值
返回值是可选的,如果需要返回值的话,通过 return 值 ; 进行返回

2,函数的调用;

在 任意JS的合法位置处,都允许做函数调用;

  函数名(参数列表);

作业:
使用函数完成以下内容,通过一个按钮点击调用
在函数内:
1、分三次录入年,月,日
2、计算该日是星期?
前提:1900.1.1 是星期1

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
do{
//1、录入数据
var input = prompt("请输入一句话:");
//2、将数据打印在控制台上
console.log(input);
}while(input != "exit");
</script>
</body>
</html>
+++++++++++++++++++++++
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
//1、生成一个1-100的随机数
var r = parseInt(Math.random()*100)+1;
//2、循环完成数据的录入和比较
do{
//1、循环录入数据
var input = prompt("请输入一个数字(exit退出):");
//2、比较大小
if(input > r){
alert("您猜大了!");
}else if(input < r){
alert("您猜小了!");
}else if(input == r){
alert("恭喜您,蒙对了!");
}else if(input == "exit"){
alert("拜拜!!!!");
} }while(input != r && input != 'exit');
//1、没猜对 并且 不是 exit 则继续玩游戏
</script>
</body>
</html>
+++++++++++++++++++++++++++++
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
while(true){
var input = prompt("请输入数据:");
if(input == "exit"){
break;
}
console.log(input);
}
</script>
</body>
</html>
++++++++++++++++++++++++++
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
for(var i=1;i<=100;i++){
console.log(i);
}
</script>
</body>
</html>
+++++++++++++++++++++++++++++
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!-- <script>
var num = Number(prompt("请输入一个数字:"));
for(var i=2;i<num;i++){
if(num % i == 0){
console.log("不是素数!");
break;
}
}
if(num == i){
console.log("是素数!");
}
</script> --> <!-- <script>
var num = Number(prompt("请输入一个数字:"));
var isSu = true;
for(var i=2;i<num/2;i++){
if(num % i == 0){
isSu = false;
break;
}
}
if(isSu){
console.log(num+"是素数");
}else{
console.log(num+"不是素数");
}
</script> --> <script>
var line = Number(prompt("请输入要打印的行数:"));
var msg = "";
for(var i=1;i<=line;i++){
msg += i+"*"+line+"="+i*line+"\t";
}
console.log(msg);
</script>
</body>
</html>
++++++++++++++++++++++++
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!-- <script>
for(var i=1;i<=9;i++){
var msg = "";
for(var j=1;j<=i;j++){
msg += j+"*"+i+"="+j*i+"\t";
}
console.log(msg);
}
</script> -->
<script>
for(var line=1;line<=5;line++){
var msg = "";
//内层循环1:循环追加空格
for(var space=1;space <= 5-line ; space++){
msg += " ";
}
//内层循环2:循环追加**
for(var star=1;star <= 2*line-1;star++){
msg += "*";
}
console.log(msg);
} </script>
</body>
</html>
++++++++++++++++++++++
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
//声明函数
function printMsg(){
alert("Hello World");
} /**
* 计算两个数字的和,并打印输出
* num1 : 表示第一个数字
* num2 : 表示第二个数字
*/
function add(num1,num2){
console.log(num1+num2);
}
//调用函数
//printMsg();
</script> <button onclick="printMsg()">调用函数</button>
<button onclick="add(15,18)">调用带参数函数</button>
</body>
</html>

最新文章

  1. vue DatePicker vue2.0的日期插件
  2. MySQL Server-id踩到的坑
  3. 第44讲:Scala中View Bounds代码实战及其在Spark中的应用源码解析
  4. Java Native Interface Specification—Contents
  5. qt添加最小化和关闭按钮
  6. Azure上如何在Linux下挂载数据磁盘
  7. POJ 1287:Networking(最小生成树Kruskal)
  8. .net4.5的弱事件
  9. iOS 之 CALayer与UIView的区别
  10. Swift 面向对象解析(二)
  11. Nginx学习系列一搭建环境
  12. mysql MHA高可用测试
  13. C#退出程序方法分类
  14. itextsharp报错PdfReader not opened with owner password
  15. Eclipse 工作空间的相关说明
  16. 【python016--序列】
  17. linuxC/C++面试问题总结整理
  18. CNN 中, 1X1卷积核到底有什么作用
  19. Maven 构建生命周期
  20. 一款基于jquery的手风琴显示详情

热门文章

  1. Windows下用python来获取微信撤回消息
  2. vue 文件目录结构详解
  3. kettle 连接 Oracle 异常
  4. [POJ268] Prime Distance(素数筛)
  5. (转载)C#关于DateTime得到的当前时间的格式和用法
  6. R导出图后用AI和PS处理
  7. servelet基础
  8. 多路径multipath配置,udev绑定
  9. Web版记账本开发记录(三)
  10. zend cache使用