十六. 循环语句
帮助我们多次执行某一个代码段
1.while循环
语法:while(条件){要循环执行的代码}
例:while (num<5){要执行的代码 console.log(1) num++}
2.do...while循环
语法:do{要循环执行的代码}while(条件)
与while循环的差异
while首次执行就判断条件,条件不符合不执行且停止循环
do...while 首次就执行,不需要判定条件,执行完毕再去判断条件,条件不符合不执行且停止循环
3.for循环
语法:for(声明变量(初始化条件);判断条件;改变自身;){循环执行的代码}
水仙花数
有一个三位数三个位置的三次方的和等于它自身
for (var i = 100; i < 100; i++){var bai = parseInt(i/100) var shi = parseInt(i%100/10) var ge = i%10
var sum = bai ** 3 + shi ** 3 + ge ** 3 if(i == sum){console.log(i,'是水仙花数')}}
质数
当一个数字它只能被1或它自身整除,那么这个数是质数
(JS提供一个方法 prompt 可以让用户输入一些文本内容传递给JS)
注:Prompt返回的用户值为string类型;如果用户点击了取消,则返回null
例:var num = prompt('请输入一个数字') var count = 0 for(var i = 2,i < 7;i++) {if(num% i = 0){count = count+2}} console.log(count) {count == 0 console.log('是质数') console。log('不是质数')
十七.流程控制语句
break关键字的应用 continue关键字的应用
共同点都可以打断循环
不同点当我们想满足某一个条件时,停止整个循环可以使用break
continue:当我们想满足某一个条件时,停止当前本轮循环,后续循环正常执行
循环嵌套 两个循环叠在一起
外层循环执行一次,内层循环就会完整的执行一次
十八. 函数
帮我们把项目中多个地方使用的功能(代码段)抽离出来然后再在需要的地方调用函数即可
写一个函数分为 定义阶段 调用阶段
语法:function(){}
两种定义函数的方式:
①赋值式定义var fn = function(){} console.log(fn)
没有函数名,但存储在变量fn中,所以可以把fn理解为当前函数的函数名
②声明式定义 function(){}
不管函数定义是如何定义的,调用方式只有一种 语法:函数名()
两者的区别:1书写不同 2.打印时声明式会带上函数名,赋值式没有 3.调用时有差异,声明式可以在函数定义前使用
函数的参数(函数不写参数可以正常执行,但功能相对单一)
如果函数想灵活地调用起来,在多个地方调用时有不同的执行,那么可以通过函数的参数来实现。
函数分为
形参:函数名后边的小括号内每书写一个就相当于在函数内部声明一个变量可以在函数内部调用
实参:调用函数时小括号内部书写的值就是实参,实参和形参是一一对应的关系
如果实参数量少于形参,那么前面的形参对应接受值,没有对应实参的形参的值为undefined
如果形参数量少于实参,那么一一对应以后多余的实参无法通过参数获取
函数的返回值
语法:return 需要返回的内容
默认返回值:可以不写return函数会默认在代码段最后一行写return undefined
返回值的书写取决于是否需要得到函数内部某一个变量的值,如果需要可以使用返回的值将其返回,如果不需要可以不写
return具有中断函数执行的功能,如果不想中断将return放到最后
函数的预解析
可能会遇上同名变量的变量提升(变量的预解析)以函数为主,预解析之后会把函数提升到当前作用域最顶端(即当前代码第一行)