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>

WEBBASE篇: 第九篇, JavaScript知识4的更多相关文章

  1. WEBBASE篇: 第十一篇, JavaScript知识6

    JavaScript 知识6 一, String 对象 1,分隔字符串, 函数: split(seperator) 作用: 将字符串,通过seperator 拆分成一个数组: eg: var msg= ...

  2. WEBBASE篇: 第十篇, JavaScript知识5

    JavaScript知识5 <!doctype html> <html lang="en"> <head> <meta charset=& ...

  3. 第九篇 :微信公众平台开发实战Java版之如何实现自定义分享内容

    第一部分:微信JS-SDK介绍 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统 ...

  4. 第九篇 SQL Server安全透明数据加密

    本篇文章是SQL Server安全系列的第九篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...

  5. 用仿ActionScript的语法来编写html5——第九篇,仿URLLoader读取文件

    第九篇,仿URLLoader读取文件 先看看最后的代码 function readFile(){ urlloader = new LURLLoader(); urlloader.addEventLis ...

  6. 【译】第九篇 SQL Server安全透明数据加密

    本篇文章是SQL Server安全系列的第九篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...

  7. Egret入门学习日记 --- 第九篇(书中 2.7~2.8节 内容)

    第九篇(书中 2.7~2.8节 内容) 昨天记录到了 2.6节 ,那么今天就从 2.7节 开始. 这个 2.7节 有7个小段,有点长,总结一下重点: 1.调试项目的两种方法. 2.运行项目的两种窗口选 ...

  8. (转)Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...

  9. Matlab高级教程_第一篇:Matlab基础知识提炼_01

    第一篇:Matlab基础知识提炼: 这一篇主要用系统和提炼性的语言对Matlab基础知识进行总结,主要适用于有语言基础的学习者.尽量不讲废话. 第一部分:Matlab是什么? 1 Matlab是Mat ...

  10. 解剖SQLSERVER 第九篇 OrcaMDF现在能通过系统DMVs显示元数据(译)

    解剖SQLSERVER 第九篇  OrcaMDF现在能通过系统DMVs显示元数据(译) http://improve.dk/orcamdf-now-exposes-metadata-through-s ...

随机推荐

  1. VS2015 scanf 函数报错 error C4996: 'scanf'

    错误提示:error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. ...

  2. poj 3294 Life Forms - 后缀数组 - 二分答案

    题目传送门 传送门I 传送门II 题目大意 给定$n$个串,询问所有出现在严格大于$\frac{n}{2}$个串的最长串.不存在输出'?' 用奇怪的字符把它们连接起来.然后求sa,hei,二分答案,按 ...

  3. 学习了一天的python,终于可以爬爬了-_-

    恒久恒久以前在语言大陆就听过一种叫,人生苦短,我用python的至理名言.陆陆续续在课下和业余生活中学习的一点python,知道基本的语法和规则,不过py的库实在是太多了,而且许多概念也没有深入的学习 ...

  4. BOM简介

    BOM简介 BOM Browser Object Model 浏览器对象模型 // 通过window对象来访问浏览器 console.log(window.document); // frames:当 ...

  5. [转载]Linux 16进制查看命令、工具

    转自:https://blog.csdn.net/chenglian_999/article/details/4672177 2009年10月14日 21:45:00 chenglian_999 阅读 ...

  6. Linux 查看进程之PS命令

    要对进程进行检测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程运行状态.Linux 系统中 我们可以使用 ps 命令查看进程. ps 命令介绍       ps(process stat ...

  7. 理解SSL、HTTPS原理中的对称加密与非对称加密

    1.对称性加密 双方使用的同一个密钥,既可以加密又可以解密,这种加密方法称为对称加密,也称为单密钥加密. 简单来说就是:加密与解密都是同一个秘钥.   优点:通常在消息发送方需要加密大量数据时使用,算 ...

  8. word->excel数据处理

    朋友发来一个word文件,里面的数据没有分割,想分割后放到excel统计 通常遇到这种数据,首先想到每一列数据有没有什么特征 类似这种数据,一种办法是按位数截取,mid函数,或者按第一次出现数字的方式 ...

  9. flink入门

    wordCount POM文件需要导入的依赖: <dependency> <groupId>org.apache.flink</groupId> <artif ...

  10. springboot应用无故停止运行killed解决方法

    最近使用springboot开发了一个ip代理的程序,今天放到阿里云服务器上运行,多次出现应用运行突然停止的问题. 使用free -h 查看内存使用完全正常.重新运行监视CPU使用也正常.没有出现堆内 ...