回顾
定义变量赋值
Var与let 区别:var可重复定义。
变量名:字母,下划线,$开头
循环:
while(循环条件){循环操作} do{}while() for{}while() ${}
一、多重循环外层控制行,内层控制列
例1:时间
//时间,时 分 秒
for (let i = 0; i < 24; i++) {
for (let j = 0; j < 60; j++) {
console.log(i + ':' + j)
}
}
例1效果:
例2九九乘法表
问题:1*2=2与2*1=2重复,且表现形式有坡度,
所以,修改为:
<script>
for (let i = 0; i <= 9; i++) {
for (let j = 0; j <= i; j++) {
// j<=i第一行循环一次,第二行循环2次,以此类推
document.write( `${j}*${i}=${i*j}`);
// document.write在网页显示
document.write(` `)
//公式之间间隔
}
document.write(`<br/>`)
//行的部分换行(所以在外圈)
}
</script>
补充:Document.write()在网页显示
例2效果图
小总结:增加代码的可读性,注意细节,例如按钮行高,宽,可用padding代替
例3打印三角形列阵 一般外循环都是从0开始,除非特例
例3:方法二 用while(){}
let i = 0
while (i <= 5) {
debugger //调试
let j = 0
while (j <= i) {
document.write(`*`)
j++
}
document.write(`<br/>`)
i++
}
题目1 水仙花数
//水仙花数:
水仙花数是指一个3 位数,它的每个位上的数字的 3次幂之和等于它本身
(例如:1^3 + 5^3+ 3^3 = 153)。
for (let i = 100; i <= 999; i++) {
let a = parseInt(i / 100) //百位的数字
let b = parseInt(i % 100 / 10) //十位上的数字
let c = parseInt(i % 10) //个位上的数字
if (a*a*a+b*b*b+c*c*c===i) {
document.write(i)
document.write(`<br/>`)
}
}
水仙花数效果图:
题目2
//公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱
//现在要用100块钱买一百只鸡,问公鸡,母鸡,小鸡各多少只?
①
②
二、函数功能
console.log(Math.pow(2,3));//2*2*2 n的m次方
console.log(Math.floor(3.14));//向下取整
console.log(Math.ceil(3.14));//向上取整
console.log(Math.round(3.4));//四舍五入
console.log(Math.abs(-1));//取绝对值,负数变正数
console.log(Math.max(1,20,30,40));//取最大值
console.log(Math.min(1,20,30,40));//取最小值
//随机数
Math.random()//[0,1]之间的小数,0<=n<1
Math.random()*100 //[百位之间的小数]
console.log(Math.random())
//百位之间的小数四舍五入
console.log(Math.round(Math.random()*100))
//30到50之间的随机小数
//console.log(Math.round(Math.random()*(max-min)+min)
console.log(Math.round(Math.random()*50)+30)
[if !supportLists]三、[endif]数组array
//数组 let arr=[ ]
//一段连续的,有序的数据集合,变量的大盒子
//可以通过下标/索引来访问
补充:let arr=new array()//构造函数方式创建数组对象
let arr=[] //自变量方式创建数组对象
let arr=[11,22,33,44]
let arr=['周洋','张世杰']
console.log(arr(1)) //打印第一个人
console.log(arr(2)) //打印第二个人
console.log(arr(2)) //打印第三个人
console.log(arr.length) //数组内的个数
for (let i = 0; i < arr.length; i++) {}
练习//数组内有多少个数可以被3整除
let arr = [3, 111, 6, 10, 9, 12, 123, 11]
let many = 0
for (let i = 0; i < arr.length; i++) {
if (arr[i] % 3 === 0) {
console.log(arr[i])
//打印最后一个被3整除的数
console.log(arr[arr.length - 1])}
三、数组的应用
//方法需背诵
a()//带括号的:函数/方法
arr1.push=(20) //在数组的末尾添加元素,可以添加多个
arr1.pop=()//删除末尾的元素
arr1.unshift=(80) //在开头添加元素
arr1.shift=(80) //在开头删除第一个元素
arr1.splice=(2,2) //在指定位置删除一段元素(i,j)i元素开始,删除后面j个元素
arr1.slice=(0,3) //返回一段元素(start,end)返回0,1,2三个下标对应的元素
arr1.indexOf=(333)//返回指定元素在数组中第一次出现的下标
arr1.lastIndexOf=(333)//返回指定元素在数组中最后一次出现的的下标
arr1.includes(444)//判断数组是否包含一个元素
arr1.reverse()//翻转数组
arr1.sort()//数组排序 默认是按首字母排序
arr1.join('&')//将数组通过某字符串拼接,默认是逗号
arr1.concat(arr2)//返回与另一个数组合并之后的新数组,不会改变原数组