IT新手入门,零基础学IT,转行做IT,IT行业的职位选择,你我一同探讨!

IT新手入门网给你介绍IT行业的职位有哪些,让你转行做IT不发愁,IT入门有捷径

当前位置: 主页 > 技能提升 > HTML5/前端互联网工程师 > javascript基础入门语法学习(十四)

javascript基础入门语法学习(十四)

时间:2017-01-25 22:22来源:互联网 作者:恪己 点击:
一、do-while 1、问题:从网页录入数据,直到输入exit为止,如果不是exit就打印输出 while(true){ var input = prompt(输入:); if(input == exit){ break; } console.log(input); } 2、语法 do{ 循环操作 }while(条件
一、do-while
1、问题:从网页录入数据,直到输入exit为止,如果不是exit就打印输出
while(true){
var input = prompt("输入:");
if(input == "exit"){
break;
}
console.log(input);
}
2、语法
do{
循环操作
}while(条件);
流程:
(1)、先执行循环操作
(2)、再判断循环条件
如果条件为真,则继续执行循环操作
如果条件为假,则终止循环即退出循环
特点:
无论条件满足与否,至少要执行一次循环操作
3、while 与 do...while 区别
(1)、while
先判断,后执行
最少一次循环都不执行(第一次条件就不满足)
(2)、do...while
先执行,后判断
最少要执行一次循环操作(第一次条件就不满足)
4、练习
将 猜数字的游戏 由 while 结构 更改为 do...while 结构
二、for循环
1、问题
打印 1 - 100 之间所有的数字
var i=1;//1、声明循环条件
while(i<=100){//2、循环条件判断
console.log(i);//3、循环体-打印输出
i++;//4、更新循环条件
}
2、for循环
(1)、特点
整合while循环
(2)、语法
for(表达式1;表达式2;表达式3){
//循环操作
}
表达式1:声明循环条件
表达式2:循环条件判断
表达式3:更新循环条件
(3)、执行过程
1)、计算表达式1的值
2)、计算表达式2的值,如果为true,则执行循环体,否则退出循环
3)、执行循环体
4)、计算表达式3的值
5)、计算表达式2的值,... ...
一直循环 2~5的步骤,直到条件为false为止
(4)、练习
打印1-100之间所有的偶数
(5)、for,while,do-while 之间的区别
1)、for,while
最少执行 0 次
while:多数用于不确定循环次数时使用
for:多数用于确定循环次数时使用
2)、do-while
最少执行 1 次
适合用于不确定循环次数时使用
3、for的三个表达式的特殊用法s
1)、表达式1可以为空
要在循环之外补齐第一个表达式内容
2)、表达式2可以为空
死循环
在循环体内 补足 表达式2
3)、表达式3可以为空
死循环
在循环体内 补足 表达式3
4)、表达式1和表达式3的多样化
表达式1 和 表达式3 允许 编写多个表达式,中间用,隔开即可
4、循环的嵌套
在一个循环体内再出现一个循环
1)、控制台打印 *
console.log("*");
5、练习
(1)、打印输出所有的水仙花数
水仙花数:三位数 100~999
水仙花数条件:各个位上数字的立方和等于这个数本身
153=1*1*1+5*5*5+3*3*3
 =1+125+27
 =153
153 % 10 = 3
parseInt(153 / 10) % 10 = 5
parseInt(153/100) = 1
(2)、打印 100以内所有的素数(嵌套循环)
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
... ...
function print(){
var num=3;
}
素数:从2开始,只能被1 和 它本身整除的数字
2,3,5,...
问题:随意输入一个数字,判断该数是否为素数
18
2~17
2~9
兔子问题:
有1对兔子,从出生的第3个月起都生1对兔子,小兔子长到第3个月后每个月又生1对兔子,假如兔子都不死,问 某个月 的兔子有多少???
假设 f 函数 用来计算某个月的兔子总量
f(n) : n 哪个月的兔子总量
f(5) : 第5个月有多少对兔子
f(4) : 第4个月有多少对兔子
f(3) : 第3个月有多少对兔子
f(2) : 1对兔子
f(1) : 1对兔子
菲波那切数列
1,1,2,3,5,8,13,21,34,55,89,... ...
问题:打印 菲波那切数列数列中的前20个数字
function printFib(){
var n1 = 1;
var n2 = 1;
console.log(n1,n2);
//循环 计算 剩下的数字
}
递归:
在函数内,又调用了自己
递归调用的内层函数,是在外层函数还未结束时就已经开始了,那么外层函数就会被阻塞。
缺点:算法复杂度太高,且浪费内存
解决:大部分递归,可以被循环所代替


     

------分隔线----------------------------
栏目列表
推荐内容