JS基础(三)-操作和流程控制

 一  操作网页元素的步骤

1.     查找网页元素

   

给标签设置id属性,一个网页中的id值不允许重复

   

<button id="btn">按钮</button>

   

2.     给按钮绑定事件,监听用户操作

   

btn.onclick = function(){

   

    一旦监听到用户的操作,具体执行的内容

   

}

   

input.onfocus  = function(){ }  (输入框)获得焦点(光标)

   

input.onblur  = function(){ }  (输入框)失去焦点(光标) 

   

3.     弹出警示框

   

alert() 弹出警示框 请合理使用,否则频繁弹框用户体验感不好,根据具体需求使用

   

4.     修改标签之间的内容(修改HTML)

   

<span id="sum"></span>

   

sum.innerHTML = 要修改的值

   

5.     修改标签的CSS样式

   

<div  id="box"></div>

   

box.style.样式名称 = 样式值

   

比如: box.style.backgroundColor ='red'

   

注意:如果CSS样式属性名有多个单词,记得采用驼峰命名法

   

sum.innerHTML = Number(a)+Number(b)

<html><head><meta charset="utf-8"><title>计算器calc</title></head><body>第1个数字<input type="text" id="num1"><br>第2个数字<input type="text" id="num2"><br><button id="btn">=</button>两个数字相加的和:<span id="sum">结果</span><script>// 给按钮绑定点击事件btn.onclick = function(){// 分别获取两个数字var a = num1.valuevar b = num2.value// 方法一:// 弹警示框两个数相加的结果// 输入框默认输入字符串alert(Number(a)+Number(b))// 方法二:// 修改id值sum的HTML元素的内容sum.innerHTML = Number(a)+Number(b)}</script></body></html>

二 流程控制

程序 = 数据 + 算法

程序的执行方式: 顺序执行、选择执行、循环执行

1 分支结构

1.     if语句

   

if (条件) {

   

   如果符合小括号中的条件,执行此处的代码

   

}

   

注意:只有小括号中的条件,结果为true才会执行大括号中的代码

   

   

以下5个值作为条件表达式会转为false:

   

0  NaN '' undefined null

   

经常用于某些内容的非空判断:

   

if(!title){  console.log('标题不能为空!') }

   

2.     if-else 语句

   

if(条件表达式){

   

   符合判断条件,执行此语句块1

   

}else {

   

   不符合判断条件,执行此语句块2

   

}

   

3.     if-else嵌套

   

if(条件表达式1){

   

   语句块1

   

}else if(条件表达式2){

   

   语句块2

   

}else if(条件表达式3){

   

   语句块3

   

}else{

   

   以上条件均不满足,执行此处代码

   

}

   

1.      执行顺序:从最上面的第一个条件开始判断,符合条件,执行条件后的语句块,整体结束

   

如果不符合条件,会继续向下判断下一个条件,直至所有条件判断完。如果设置了else,执行else中的代码;如果没有设置else,整体结束

   

2.      else if(){ } 的个数不是固定的,根据具体的业务需求去加

   

3.      else { } 不是必须的,根据需求决定要不要加

   

4.     switch-case语句

   

是一种特殊的多项分支语句,条件只能进行全等于的比较

   

   

switch(表达式){

   

   case 值1:

   

         语句块1

   

         break

   

   case 值n:

   

         语句块n

   

         break

   

   default:

   

       语句块n+1

   

}

   

1.      执行顺序: 会拿着表达式的值依次与每个case后的值做全等比较,如果相等,会执行对应case后的语句块;如果不相等,会继续向下判断

   

2.      如果匹配到了case后的值,执行了语句块,那就要看该语句块后是否有break,如果有,直接结束switch-case;如果没有,会逐个向下穿透所有的case,包括default

   

3.      如果匹配了所有的case均不相等,那就看是否设置了default,若有,执行default,否则结束

   

4.      表达式的值最好与case后值的类型相同,不需要类型转换,性能会高

   

5.      case的个数不是固定的,default是可选项,不是必须要加的

   

2 循环结构

   

循环就是我们想要重复执行多次相同或相似的代码

   

循环的要素:

   

开始条件 结束条件 更改条件

   

1.     while循环

   

while(循环条件){

   

   循环体

   

}

   

只要循环条件的结果为true,就一直执行循环,所以while(true){} 是死循环

   

   

break 可以用于强制结束循环

   

2.     do-while循环

   

do{

   

   循环体

   

}while(循环条件)

   

1.      do-while循环会直接执行第一轮循环,不做任何判断

   

2.      是否要执行第二轮循环,取决于是否符合判断条件

   

3.      while与do-while循环使用上区别不大,do-while循环常用于需要先执行一次的情况

   

3.     for循环

   

for(开始条件;循环条件;更改条件){

   

   循环体

   

}

   

1.      for循环也属于先判断再执行的循环

   

2.      for循环的开始条件可以一次声明多个变量

   

3.      循环的循环条件如果有多个话,是最后一个起作用

   

4.     break与continue

   

1.      break和continue都是关键字

   

2.      break在循环中用于强制结束当前循环(后面轮数全部不执行)

   

3.      continue在循环中用于跳过本轮循环continue后的代码,直接进行下一轮循环

   

5.     循环的嵌套

   

for(var i = 1 ; i <=10 ; i++){ //外层循环

   

   for(var i = 1 ; i <=10 ; i++){//内层循环

   

     }

   

}

   

1.      循环嵌套就是在一个循环中嵌套了另一个循环

   

2.      外层循环执行1次,内层循环执行多次

   

3.      对于图形来说,外层循环控制的是行数,内层循环控制的是列数

   

4.      外层循环与内层循环的循环变量不应该相同,推荐使用i和j

   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/702398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能 — 特征选择、特征提取、PCA

目录 一、特征选择1、定义2、原因3、做法4、生成过程5、停止条件 二、特征提取三、PCA 算法1、零均值化&#xff08;中心化&#xff09;2、方差3、协方差4、协方差矩阵5、对协方差矩阵求特征值、特征矩阵6、对特征值进行排序7、评价模型8、代码实现9、sklearn 库10、鸢尾花实例…

【数据结构与算法(Java版)】深度剖析二分查找算法

【二分查找算法】的时间复杂度为O(log n)&#xff0c;其中n为数组的长度。因为每次查找都将查找范围缩小一半&#xff0c;所以算法的时间复杂度是对数级别的。 目录 前言 二分查找算法是什么&#xff1f; 算法实现 方式一&#xff1a;&#xff08;左闭右闭&#xff09; 文…

电机控制常见的外围器件

小型断路器&#xff1a; 这些通通都叫小型断路器&#xff0c;二十年的老电工不一定都认识&#xff0c;不信看看_哔哩哔哩_bilibili 1PIN 2PIN 3PIN 4PIN: 正常情况下火线和零线的电流是相等的&#xff0c;但是漏电的情况下&#xff0c;两线的电流差值大于30毫安&#xff0c;漏…

合纵连横 – 以 Flink 和 Amazon MSK 构建 Amazon DocumentDB 之间的实时数据同步

在大数据时代&#xff0c;实时数据同步已经有很多地方应用&#xff0c;包括从在线数据库构建实时数据仓库&#xff0c;跨区域数据复制。行业落地场景众多&#xff0c;例如&#xff0c;电商 GMV 数据实时统计&#xff0c;用户行为分析&#xff0c;广告投放效果实时追踪&#xff…

笔记本hp6930p安装Android-x86避坑日记

一、序言 农历癸卯年前大扫除&#xff0c;翻出老机hp6930p&#xff0c;闲来无事&#xff0c;便安装Android-x86玩玩&#xff0c;期间多次入坑&#xff0c;随手记之以避坑。 笔记本配置&#xff1a;T9600,4G内存&#xff0c;120G固态160G机械硬盘 二、Android-x86系统简介 官…

2023最新盲盒交友脱单系统源码

源码获取方式 搜一搜&#xff1a;万能工具箱合集 点击资源库直接进去获取源码即可 如果没看到就是待更新&#xff0c;会陆续更新上 或 源码软件库 最新盲盒交友脱单系统源码&#xff0c;纸条广场&#xff0c;单独抽取/连抽/同城抽取/高质量盒子 新增功能包括心动推荐&#xff…

js使用new Image()创建img对象不生效

我在做vue项目的时候&#xff0c;想获取到图片的宽高&#xff0c;然后把宽高发给后端&#xff0c;代码类似是这样的 function getFileData(file: File) {return new Promise(function (resolve, reject) {let reader new FileReader();reader.readAsDataURL(file);reader.onlo…

备考2024年高考全国甲卷文科数学:历年选择题真题练一练

距离2024年高考还有三个多月的时间&#xff0c;最后这个时间&#xff0c;同学们基本上是以刷题为主。刷题的时候最重要的是把往年的真题吃透&#xff0c;因为真题是严格按照考纲出的&#xff0c;掌握了真题后面的知识点&#xff0c;并能举一反三地运用&#xff0c;那么高考的高…

用Python Matplotlib画图导致paper中含有Type-3字体,如何解决?

用Python Matplotlib画图导致paper中含有Type-3字体&#xff0c;如何解决&#xff1f; 在提交ACM或者IEEE论文之前&#xff0c;都会有格式的检查&#xff0c;格式的其中一个要求是paper中不能含有Type-3的字体。因为Type-1和True Type字体都是矢量字体&#xff0c;而Type-3并不…

华为OD机试 - 数字排列(Java JS Python C C++)

题目描述 小明负责公司年会,想出一个趣味游戏: 屏幕给出 1 ~ 9 中任意 4 个不重复的数字,大家以最快时间给出这几个数字可拼成的数字从小到大排列位于第 N 位置的数字,其中 N 为给出数字中最大的(如果不到这么多数字则给出最后一个即可)。 注意: 2 可以当作 5 来使用…

老杨说运维 | 运维大数据价值探索

文末附有视频 伴随第六届双态IT乌镇用户大会的圆满完成&#xff0c;擎创科技“一体化数智管理和大模型应用”主题研讨会也正式落下了帷幕。 云原生转型正成为很多行业未来发展战略&#xff0c;伴随国家对信创数字化要求的深入推进&#xff0c;面对敏稳共存这一近年出现的新难…

MySQL死锁产生的原因和解决方法

一.什么是死锁 要想知道MYSQL死锁产生的原因,就要知道什么是死锁?在了解什么是死锁之前,先来看一个概念:线程安全问题 1.线程安全问题 1.1什么是线程安全问题 线程安全问题&#xff0c;指的是在多线程环境当中&#xff0c;线程并发访问某个资源&#xff0c;从而导致的原子性&a…

RocketMQ快速实战以及集群架构原理详解

RocketMQ快速实战以及集群架构原理详解 组成部分 启动Rocket服务之前要先启动NameServer NameServer 提供轻量级Broker路由服务&#xff0c;主要是提供服务注册 Broker 实际处理消息存储、转发等服务的核心组件 Producer 消息生产者集群&#xff0c;通常为业务系统中的一个功…

板块二 JSP和JSTL:第四节 EL表达式 来自【汤米尼克的JAVAEE全套教程专栏】

板块二 JSP和JSTL&#xff1a;第四节 EL表达式 一、什么是表达式语言二、表达式取值&#xff08;1&#xff09;访问JSP四大作用域&#xff08;2&#xff09;访问List和Map&#xff08;3&#xff09;访问JavaBean 三、 EL的各种运算符&#xff08;1&#xff09;.和[ ]运算符&…

《The Art of InnoDB》第二部分|第4章:深入结构-磁盘结构-redo log

4.3 redo log 目录 4.3 redo log 4.3.1 redo log 介绍 4.3.2 redo log 的作用 4.3.3 redo log file 结构 4.3.4 redo log 提交逻辑 4.3.5 redo log 持久化逻辑 4.3.6 redo log 检查点 4.3.7 小结

汇编语言与接口技术实践——秒表

1. 设计要求 基于 51 开发板,利用键盘作为按键输入,将数码管作为显示输出,实现电子秒表。 功能要求: (1)计时精度达到百分之一秒; (2)能按键记录下5次时间并通过按键回看 (3)设置时间,实现倒计时,时间到,数码管闪烁 10 次,并激发蜂鸣器,可通过按键解除。 2. 设计思…

抖音数据抓取工具|短视频下载工具|视频内容提取软件

一、开发背景&#xff1a; 随着抖音平台的流行&#xff0c;越来越多的人希望能够下载抖音视频以进行个人收藏或分享。然而&#xff0c;目前在网上找到的抖音视频下载工具功能单一&#xff0c;操作繁琐&#xff0c;无法满足用户的需求。因此&#xff0c;我们决定开发一款功能强大…

java面试题之mysql篇

1、数据库索引 ​​​​​​​ 索引是对数据库表中一列或多列的值进行排序的一种结构&#xff0c;使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她&#xff0c;则与在表中搜索所有的行相比&#xff0c;索引有助于更快地获取信息。 索引的一个主要…

编程笔记 Golang基础 030 接口

编程笔记 Golang基础 030 接口 一、接口的定义&#xff1a;二、接口的实现&#xff1a;三、接收者类型四、应用示例五、接口的意义 在Go语言中&#xff0c;接口是一种类型定义&#xff0c;它描述了一组方法签名&#xff0c;任何实现了这些方法的类型都隐式地实现了这个接口。这…

k8s-创建命名空间的方法

使用命令式创建namespace kubectl create namespace test-namespace查看命名空间 kubectl get namespace使用声明式创建命名空间 a. 编写dev-namespace.yaml文件 apiVersion: v1 kind: Namespace metadata:name: dev-namespaceb. 使用dev-namespace.yaml&#xff0c;yaml文件创…