今天学习了JS的几种循环语法,说实话,前几天的简单让我大意了,没有闪,很成功的被搞崩了!

一杯水,一根烟,一个算法边写边骂是一天。

多少次,我满怀期待的以为它会出现想要的结果,

    但现实的残酷狠狠的折磨着我,

    离开了前几天的简单生活,

    我变得那么的不像我

    像枫叶在水里漂泊

    伤心像太平洋那么多

    赶紧来几根胡萝卜

    补一补眼里的维多

    为什么我这么难过

    还不是算法太折磨

    爱情我还能忍着

    “你”是个什么!

    等于吃饭没有锅

    冬天没有火

    这辈子请你别赖上我

    我已经哭了,

拜拜,写完我就去喝奶茶波波

好,牢骚发完,发今天的成果:

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:加载

当设置了对应的事件之后,会触发目标函数

 

    

2022年7月12,第四组,周鹏,被算法折磨的一天【哭】【哭】【哭】【puls哭】的更多相关文章

  1. 2022年7月10 第四组 周鹏 CSS的基本认识

    CSS 层叠样式表 网页美观 html相当于原材料,css用来加工好看 如何嵌入? 样式如何显示html元素? 样式通常存储在样式表中 把样式表添加到html元素里 定义CSS方式 1,行内样式,可以 ...

  2. 【五校联考1day2】JZOJ2020年8月12日提高组T2 我想大声告诉你

    [五校联考1day2]JZOJ2020年8月12日提高组T2 我想大声告诉你 题目 Description 因为小Y 是知名的白富美,所以自然也有很多的追求者,这一天这些追求者打算进行一次游戏来踢出一 ...

  3. 【五校联考1day2】JZOJ2020年8月12日提高组T1 对你的爱深不见底

    [五校联考1day2]JZOJ2020年8月12日提高组T1 对你的爱深不见底 题目 Description 出乎意料的是,幸运E 的小R 居然赢了那个游戏.现在欣喜万分的小R 想要写一张明信片给小Y ...

  4. JZOJ2020年8月12日提高组反思

    JZOJ2020年8月12日提高组反思 真·难亿一点点 T1 题目长并附带伤害-- 暴力搜 对于字符串,我选择\(Pascal\) T2 概率问题,再见 T3 样例没懂,再见 T4 有史以来见过的条件 ...

  5. 2022年7月13日,第四组 周鹏 JAVA认识的第一天,附加一个用JS写的计算器代码

    心情:╭(╯^╰)╮ ╮(╯﹏╰)╭ (╯﹏╰)b 罒ω罒 |*´Å`)ノ ( Ĭ ^ Ĭ ) (ㄒoㄒ) o(╥﹏╥)o /(ㄒoㄒ)/~~ (〒︿〒) ┭┮﹏┭┮ ε(┬┬﹏┬┬)3 ε(┬┬﹏┬ ...

  6. 2022年7月9日 第四组 周鹏 HTML的初认识

    <!DOCTYPE html> <html lang="en"> <!--      文档的根标签 --> <head>     & ...

  7. 2022年7月14日,第四组 周鹏,认识JAVA的第二天(;´д`)ゞ(;д;)

    那天,我遇到了JAVA 然后,我失去了头发 无论我用了多少办法 还是放不下那个它 我哭的像个傻瓜 但也没能留住它 如果再有一次从来 我愿为它披上薄纱 愿它安稳有个家 可我终究还是失去了它 失去了原本为 ...

  8. 【每日一题】【递归实现、自下而上、优化】-2022年1月12日-NC68 跳台阶

    描述一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果). 数据范围:0 \leq n \leq 400≤n≤40要求:时间复杂度: ...

  9. Java学习笔记:2021年12月31日下午-2022年1月1日上午

    Java学习笔记:2021年12月31日下午-2022年1月1日上午 摘要:主要记录了计算机的电气构成,学习Linux系统的原因以及关于Linux以及相关操作的基础知识. 目录 Java学习笔记:20 ...

随机推荐

  1. C语言下for循环的一点技巧总结

    for循环是普遍应用与各种计算机语言的一种循环方式. 一般情况下, for循环规则:for(条件一:条件二:条件三) 条件一为满足条件,也就是条件一为1时,进入这个for循环.条件二为循环条件,也就是 ...

  2. 洛谷P2863 [USACO06JAN]The Cow Prom S (tarjan)

    题目简述:一个有向图,求出这个图点数>1的强连通分量的个数. 那么就是tarjan求强联通分量的模板了. 记得要用一个数组标记节点是否在栈中. 1 #include<bits/stdc++ ...

  3. uoj220【NOI2016】网格

    刚了几个小时啊,这tm要是noi我怕不是直接滚粗了.我判答案为1的情况试了几种做法,最后终于想到了一个靠谱的做法,然后细节巨多,调了好久,刚拿到97分时代码有6.2KB了,后来发现有些东西好像没啥用就 ...

  4. 消除两个inline-block元素之间的间隔

    发现问题 两个inline-block元素之间的间隔.如下图 期望 消除两个inline-block元素之间的间隔. 解决方法 1.父元素字体大小设置为0 间隔的形成是非元素标签形成的 /** 方案1 ...

  5. 解决console控制台反复打印“WebSocket connection to ws://localhost:9528/sockjs-node/107/uadaszgz.websocket failed:Invalid frame header

    element-admin-vue 项目console台一直报websocket连接失败 解决办法 1.vue.config.js中配置devServer.proxy的ws为false  (我没成功) ...

  6. vue+spirngboot 分离技术实现图书信息的增删改查(改造这学期的课程设计【1】)

    1.前端项目的创建 vue init webpack bookshopvue 安装axios http://www.axios-js.com/ npm install --save axios vue ...

  7. LabVantage仪器数据采集方案

    LabVantage的仪器数据采集组件为LIMS CI,是一个独立的应用程序/服务,实现仪器数据的采集(GC.LC等带有工作站的仪器). 将仪器输出数据转换为LIMS所需数据并传输,使用Talend这 ...

  8. 编辑距离(Minimum Edit Distance)

    编辑距离(Minimum Edit Distance,MED),也叫 Levenshtein Distance.他的含义是计算字符串a转换为字符串b的最少单字符编辑次数.编辑操作有:插入.删除.替换( ...

  9. gin框架——使用viper读取配置

    什么是viper Viper是Go应用程序的完整配置解决方案,包括12-Factor(也称为"十二要素",是一套流行的应用程序开发原则. 其实我也不是很清楚)应用程序.它被设计为在 ...

  10. 嵌入式-C语言:通过结构体指针操作结构体内容

    #include<stdio.h> #include<string.h> struct Student { char name[32]; int age; int height ...