2022-7-12 javascript(2) 第七组 刘昀航
@
2022-7-12学习 第七组 刘昀航
前情提要
- switch..case的效率问题case的后面是字面量(常量)
- 不要强行使用Switch
- 函数命名规则:小驼峰式
一、for循环
for循环的执行步骤:
1.let i = 0;初始化条件,当i = 0时,循环开始
2.i<10;判断条件,会和初始化条件配合循环的执行
3.循环体,循环在做什么事
4.i++ 循环条件,每次循环体执行完毕让i产生了变化
for (let i = 0; i < 10; i++) {
console.log(i)
}
练习:
找出数组的最大值:
for (let i = 0; i < arr.length; i++) {
if(arr[i]>max){
max = arr[i]
}
}
console.log(max)
判断一个数在数组中是否存在,如果存在返回他的下标,如果不存在,返回-1
function ishave(num, arr) {
let index = -1;
for (let i = 0; i < arr.length; i++) {
if (num == arr[i]) {
index = i
}
}
return index;
}
二、for in循环
1.for in语句,能做的事情很少,只能做遍历操作
2.可以为a是arr数组的下标通过映射给a
代码如下(示例):
let arr = [1,2,3,4,5]
for (const key in arr) {
console.log(key)
}
三、while 和 do...while循环
1.while
1.初始化条件
2.判断条件
3.执行循环体
4.自增
代码如下(示例):
let a = 0;
while(a<100){
a++;
console.log('哈哈哈')
}
练习:
问题:公司有10个人,每年增10%,哪一年突破100人,今年2022年
let people = 10;
let year = 0;
while(people<101){
people = people*1.1
year++;
}
console.log(2022+year+'年突破100人')
do... while
do{
console.log(a);
a++;
}while(a<100);
``
四、内置函数
Array:
1.concat()连接
2.join()设置分隔符连接数组为一个字符串
3.删除最后一个元素
4.pop()删除最后一个元素
5.sort()排序,从小到大排序
Global:
1.isNaN():判断一个值是不是数字
2.parseFloat():把一个整数转化为小数
3.parsetInt():把一个小数转化为整数(去掉小数点)
4.number():把一个值转成number类型
5.string():把其他类型转换为字符串
String:
1.charAt():取出指定位置的字符
2.判断指定的字符是否存在,如果存在返回下标
3.lastIndexOf('a'):从后往前找
4.replace('a','b'):把一个值转成number类型
5.split('-')根据-去拆分字符串,得到一个数组
6.substring(1,6):字符串截取
Math:
1.ceil():向上取整
2.floor():向下取整
3.round():四舍五入
4.ramdom()随机:生成一个0-1的随机数
Date:
1.new Date();获取系统当前时间
2.getDate():返回日期的日
3.getHours():返回时间中的2-23
4.getMinutes():返回时间中的分
5.getSeconds():返回时间的秒
五、抓取html元素的方法
- getElementById --通过id抓取元素
- getElementsByClassName --通过class抓取元素
- getElementsByTagName --通过标签名抓取元素
- querySelector --根据选择器抓取第一个元素
- querySelectorAll --根据选择器获取所有元素
六、事件
事件就是我们和html标签元素发生交互时产生的
- onclick:单击事件
- ondblclick:双击事件
- onblur:失去焦点
- onfocus:获得焦点
练习:
1.模仿登录案例
<p>用户名:<input type="text" id="username"></p>
<p>密码:<input type="password" id="password"></p>
<p><input type="button" onclick="yanzheng()" value="登录"></p>
<script>
function yanzheng(){
let username = document.getElementById('username').value
let password = document.getElementById('password').value
if(username == 'admin'&& password ==123456){
alert('登录成功!')
}
alert('登录失败!')
}
</script>
2.校验用户
用户名:<input type="text" id="username" onblur="tishi()">
<span id="aaa"></span>
<script>
function tishi(){
let username = document.getElementById('username').value;
let span1 = document.getElementById('aaa')
if(username == 'admin'){
span1.innerText = "该用户已存在!"
}else{
span1.innerText ="该用户可用"
}
}
</script>
3.三级联动
<body>
<select id="sheng" onchange="setShi()">
<option value="">---请选择省---</option>
<option value="jl">吉林省</option>
<option value="ln">辽宁省</option>
</select>
<select id="shi" onchange="setQu()">
<option value="">---请选择市---</option>
</select>
<select id="qu">
<option value="">---请选择区---</option>
</select>
<script>
function setShi() {
let sheng = document.getElementById('sheng').value;
let shi = document.getElementById('shi');
let qu = document.getElementById('qu');
let html = shi.innerHTML;
if (sheng == 'jl') {
html = '<option value="cc">长春市</option><option value="sp">四平市</option>';
// 把拼接好的下拉菜单选项通过innerHTML放回到下拉菜单
shi.innerHTML = html;
}
if (sheng == 'ln') {
html = '<option value="sy">沈阳市</option><option value="dl">大连市</option>';
// 把拼接好的下拉菜单选项通过innerHTML放回到下拉菜单
shi.innerHTML = html;
}
qu.innerHTML="<option >--待选择--</option>"
}
function setQu() {
let shi = document.getElementById('shi').value;
let qu = document.getElementById('qu');
let html = qu.innerHTML;
if (shi == 'cc') {
html = '<option value="sy">双阳区</option><option value="jy">净月区</option>';
// 把拼接好的下拉菜单选项通过innerHTML放回到下拉菜单
qu.innerHTML = html;
}
if (shi == 'sp') {
html = '<option value="yt">伊通满族自治县</option><option value="td">铁东区</option>';
// 把拼接好的下拉菜单选项通过innerHTML放回到下拉菜单
qu.innerHTML = html;
}
if (shi == 'sy') {
html = '<option value="hu">皇姑区</option><option value="sjt">苏家屯区</option>';
// 把拼接好的下拉菜单选项通过innerHTML放回到下拉菜单
qu.innerHTML = html;
}
if (shi == 'dl') {
html = '<option value="zx">中山区</option><option value="xg">西岗区</option>';
// 把拼接好的下拉菜单选项通过innerHTML放回到下拉菜单
qu.innerHTML = html;
}
}
</script>
</body>
2022-7-12 javascript(2) 第七组 刘昀航的更多相关文章
- 2022-7-11 javascript学习 第七组 刘昀航
JavaScript是什么? 编程语言,脚本语言,依赖于某种容器来运行. JS是运行在浏览器上的,可以帮助我们去控制页面. Vue.js react.js jquery.js an ...
- 2022-7-9 html 第七组 刘昀航
一.基础认知 1.1 认识网页 网页的组成: 文字.图片.音频.视频.超链接 网页背后的本质:前端程序员写的代码 前端的代码通过什么软件转换成用户眼中的页面:浏览器转化(解析和渲染) 1.2 5大 ...
- 2022-7-14 java_2 第七组 刘昀航
@ 目录 一.java约定规范 1.关于建包 2.控制台输入(Scanner) 关于Scanner的bug 计算器小练习: 二. 1.数组 建立数组的三种方式: 数据类型的初始值: 2.二维数组 使用 ...
- 2022-7-10 css 第七组 刘昀航
样式通常存储在样式表中(先定义样式表),再把样式表添加到html元素中 定义CSS样式的方式: 行内样式(内联样式) ·行内样式仅针对当前标签生效,如果当前的样式不需要复用,可以用行内样式 · ...
- 2022-7-13 java_1 第七组 刘昀航
@ 目录 前言 一.一些基本的指令 二.java 1.java的三个版本 2.java特点 3.运行一个java程序 三.java的数据类型 1.java基本数据类型 2.强制转换的原理 3.八种基本 ...
- JavaScript学习笔记(12)——JavaScript内置对象
1.Number Javascript只有一种数字类型,可以有小数也可以没有,也可以使用科学计数法. var z=123e-5; // 0.00123 JavaScript 不是类型语言.与许多其他编 ...
- JavaScript学习笔记(12)——JavaScript自定义对象
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 12 JavaScript String对象 & Date对象
<script> var a = "string"; var b = new String("string"); var c = new Strin ...
- 19 01 12 javascript 定时器 封闭函数
定时器 定时器在javascript中的作用1.制作动画2.异步操作3.函数缓冲与节流 定时器: setTimeout 只执行一次的定时器 clearTimeout 关闭只执行一次的定时器 setIn ...
随机推荐
- 『现学现忘』Git基础 — 18、Git对象的总结
目录 1.Git操作最基本的流程 2.工作目录中文件的状态 3.Git效率说明 提示:前面三篇文章已经分别的对blob对象.tree对象.commit对象进行了详细的说明,这篇文章我们总结一下,Git ...
- 跨域原因及SpringBoot、Nginx跨域配置
目录 概述 简单请求 跨域解决方案 概述 SpringBoot跨域配置 Nginx跨域配置 概述 MDN文档 Cross-Origin Resource Sharing (CORS) 跨域的英文是Cr ...
- 关于IPC和PTH用户权限问题,psexec拒绝访问(Access Denied)的原因
前瞻 关于net use和psexec无法使用本地管理员组用户建立连接的问题 测试环境: win7系统,存在域环境 域名:de1ay 普通域用户: de1ay\de1ay 域管理员用户:de1ay\A ...
- 新鲜出炉:appium2.0+ 单点触控和多点触控新的解决方案
在 appium2.0 之前,在移动端设备上的触屏操作,单手指触屏和多手指触屏分别是由 TouchAction 类,Multiaction 类实现的. 在 appium2.0 之后,这 2 个方法将会 ...
- python爬取豆瓣电影Top250(附完整源代码)
初学爬虫,学习一下三方库的使用以及简单静态网页的分析.就跟着视频写了一个爬取豆瓣Top250排行榜的爬虫. 网页分析 我个人感觉写爬虫最重要的就是分析网页,找到网页的规律,找到自己需要内容所在的地方, ...
- 实用git指令
实用git指令 clone 操作目的 简要操作说明 详细操作说明 init & add & commit & push 操作目的 简要操作说明 详细操作说明 pull & ...
- vue - Vue路由(扩展)
忙里偷闲,还在学校,趁机把后面的路由多出来的知识点学完 十.缓存路由组件 让不展示的路由组件保持挂载,不被销毁 在我们的前面案例有一个问题,都知道vue的路由当我们切换一个路由后,另一个路由就会被销毁 ...
- Tenseal库
在此记录Tenseal的学习笔记 介绍 在张量上进行同态计算的库,是对Seal的python版实现,给开发者提供简单的python接口,无需深究底层密码实现. 当前最新版本:3.11 位置:A lib ...
- 3.0 vue以构造函数形式返回数据
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 219. Contains Duplicate II - LeetCode
Question 219. Contains Duplicate II Solution 题目大意:数组中两个相同元素的坐标之差小于给定的k,返回true,否则返回false 思路:用一个map记录每 ...