2022年7月12,第四组,周鹏,被算法折磨的一天【哭】【哭】【哭】【puls哭】
今天学习了JS的几种循环语法,说实话,前几天的简单让我大意了,没有闪,很成功的被搞崩了!
一杯水,一根烟,一个算法边写边骂是一天。
多少次,我满怀期待的以为它会出现想要的结果,
但现实的残酷狠狠的折磨着我,
离开了前几天的简单生活,
我变得那么的不像我
像枫叶在水里漂泊
伤心像太平洋那么多
赶紧来几根胡萝卜
补一补眼里的维多
为什么我这么难过
还不是算法太折磨
爱情我还能忍着
“你”是个什么!
等于吃饭没有锅
冬天没有火
这辈子请你别赖上我
我已经哭了,
拜拜,写完我就去喝奶茶波波
好,牢骚发完,发今天的成果:
对昨天的一些补充
1,Switch...case的效率问题
当case后面是字面量(常量)时,效率才比if……else高。
2,不要强行用Switch
##
1,for循环
语法:
for(lei i = 0; i < 10 ; i++){
// 循环体
}
let i = 0; 初始化条件,当 i = 0时,循环开始。且只在循环开始时走一次。只走一次。
i < 10 ; 判断条件,会和初始化条件配合循环的执行,决定了循环什么时候停止。
;循环体,循环在重复做什么事情
i++ 循环条件,每次循环体执行完毕,让i产生变化
i可以看做一个局部变量
循环条件是可以根据实际情况更改的
当修改循环条件时,要确保循环可以向着终点前进去改变
当我们在开发中,尽量避免死循环。
死循环的特殊写法
1,
for(let i = 0; i < 10;){
}
死循环,但不报错。
2,
for(lei i = 0; ; i++){
}
3.
for(lei i = 0; ; ){
}
4.
for(lei ; ; ){
}
如果需要用死循环,最好用第四种
2,for in语句
能做的事比较少,只能做遍历操作
遍历操作沿着某条搜索 路线 ,依次对树(或图)中每个节点均做一次访问,可以理解为下标。
let a=[10,5,9,7,-5,100,257,101];
for(let b in a){
输出方式(a[b])
}
会依次输出。
可以理解为,b是a数组的下标通过映射给a。
3,While循环
1,While
let a = 10;
while(条件表达式 a<100){
执行命令
}
while是个老傲娇,括号里面的条件表达式必须是真才能执行!
while循环的执行步骤:
1, let a = 10
初始化条件,但其实和循环没啥关系,这是个全局变量……
2, 判断条件,a < 100
3, 执行循环体,执行的命令
4,变量的改变,a++
上面这些都只是这个例子代码里的对应条件哈,别有人傻乎乎的给弄上去。
While循环的各种条件都不好控制,for循环更加严谨。
但在写函数的时候,While循环便于管理函数的返回值。
4,do……While循环
相当于While循环的衍生物。
let a = 10 do{ 执行命令; a++; }While(a > 100 )
1, let a = 10
初始化条件
2, 判断条件,a < 100
3, 执行循环体,执行的命令
4,变量的改变,a++
do……while循环相当于把while循环的循环体拿到了判断条件之上
do……while先执行一次,再判断,至少执行一次
while先判断,如果条件不为真,一次不走
这不纯纯买东西时候先用后付嘛
5,了解,JS内置函数
数组函数
1,concat() 连接
2, join() 设置分隔符连接数组为一个字符串
3,pop() 删除最后一个元素
4,sort() 排序,从小到大
Global:
1,isNaN():判断一个值是不是数字
2,parseFloat():把一个整数转换成小数
3,parseInt(): 取整,不四舍五入
4,number(): 把一个值转成number类型
5,string(): 把其他类型转成字符串
String:
1,charAt(1): 取出指定位置的字符
2,nindexOf('a'): 判断指定字符是否存在,如果存在返回下标。
3,lastIndexOf('a'): 从后往前找
4,replace('a' , 'b'): 替换字符
5,split('-'): 根据- 去拆分字符串,得到一个数组
6,substring(1,6):字符串截取
Math:
1,ceil() 向上取整;简单来说就是四色五入的入,强行入
2,floor() 向下取整;和上面那个相反
3,round() 四舍五入
4,random() 随即生成一个0-1的随机数
5.tan(),sin,cos,cot,三角函数
6. E,PI(这个PI是π的意思)
Date:
1,new Date();获取系统当前日期
2,getDate();返回日期的日,1~31
3,getHours():返回时间中的时,0~23
4,getMinutes():返回时间中的分,0~59
5,getSeconds():返回时间中的秒,0~59
6,getTime():获取系统当前时间
6,连接上html
老方法:
<div id="div" class="a"><div> 用ID : let div = document.getElementById('div') 用class : let divs = document.getElementsByClassName('a') 输出方法(div[0]) 这玩意儿拿的都是集合,即便只有一个也得写这个
新写法:
<div id="div" class="a"><div> 用选择器: let div = document.querySelector('#div')这里面是选择器,就是css里面那玩意儿!
JS可以改变div里面的东西,比如:
div.innertText = "改变的内容" 不加等号就是获取内容
7,事件
点击按钮弹出一个弹窗
<input type="button" onclick="JS里的函数" >
在html标签里,加入onclick,就是单击事件
ondbclick,双击事件
onblur,失去焦点
onfocu,获得焦点
onchange:改变
onloda:加载
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现