学习JavaScript第二天
文章目录
1.运算符(操作符)
1.1运算符的分类
运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。
- 算数运算符
- 递增和递减运算符
- 比较运算符
- 逻辑运算符
- 赋值运算符
1.2算数运算符
算术运算符概述
概念:算术运算使用的符号,用于执行两个变量或值的算术运算。
+
-
*
/
%
1.3递增和递减运算符
递增和递减运算符概述
如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减( – )运算符来完成。
递增运算符
前置递增运算符
++num 前置递增,就是自加1,类似于 num = num + 1,但是 ++num 写起来更简单。
使用口诀:先自加,后返回值。
后置递增运算符
num++ 后置递增,就是自加1,类似于 num = num + 1 ,但是 num++ 写起来更简单。
使用口诀:先返回原值,后自加。
1.4比较运算符
比较运算符概述
概念:比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true / false)作为比较运算的结果。
>
<
>=
<=
==
!=
1.5逻辑运算符
逻辑运算符概述
概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断。
&&
||
!
2.选择结构
2.1if语句
2.1.1语法
// 条件成立执行代码,否则什么也不做
if (条件表达式) {
// 条件成立执行的代码语句
}else{
//条件不成立sh时执行的代码语句
}
2.1.2案例1:判断闰年
<script>
let year = prompt('请输入一个年份')
if(year % 4 === 0 && year % 100 !== 0 || year % 400 ===0){
document.write(`${year}是闰年`)
}else {
document.write(`${year}不是闰年`)
}
</script>
2.2switch语句
2.2.1语法
switch( 表达式 ){
case value1:
// 表达式 等于 value1 时要执行的代码
break;
case value2:
// 表达式 等于 value2 时要执行的代码
break;
default:
// 表达式 不等于任何一个 value 时要执行的代码
2.2.2案例2:选择要进行的操作
let num = +prompt('请选择一个数字')
switch(num) {
case 1:document.write('你选择的是1')
break
case 2:document.write('你选择的是2')
break
case 3:document.write('你选择的是3')
break
case 4:document.write('你选择的是4')
break
default:
document.write('输入错误')
break
}
3.循环结构
3.1while循环
3.1.1语法
while(循环条件){
循环体
}
3.1.2案例3:ATM存款取款
while (true) {
let num = 1000 //假设银行卡为1000元
let number = 0 //要存或者取出的钱
let re = +prompt(`
请选择:
1.存款
2.取款
3.查询余额
4.退出
`)
//如果输入4退出循环
if(re === 4){
break
}
switch (re){
case 1:
number = +prompt('请输入要存入的金额')
num += number
document.write(`银行卡余额为:${num}`)
break
case 2:
number = +prompt('请输入要取出的金额')
if (num < number){
document.write('余额不足')
}else {
num -=number
document.write(`银行卡余额为:${num}`)
}
break
case 3:
document.write(`银行卡余额为:${num}`)
break
default:
break
}
}
3.2for循环
3.2.1语法:
for(变量起始值;终止条件;变量变化量){
循环体
}
3.2.2案例4:冒泡排序
let nums = [9,8,7,6,5,4,3,2,1]
for (let i = 0; i < 10; i++){
for (let j = 0; j < 10-i; j++){
if(nums[j] > nums[j + 1]){
let temp = nums[j]
nums[j] = nums[j + 1]
nums[j + 1] = temp
}
}
}
//打印排序好的数组
for (let i = 0; i < 10; i++){
document.write(`${nums[i]}`)
}
学习JavaScript第二天的更多相关文章
- 学习JavaScript 第二周
分支结构中的switch switch(值&条件表达式){ case 值: 操作: break; case 值: 操作: break; ... default: 默认操作 } switch根据 ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 一步步学习javascript基础篇(8):细说事件
终于学到事件了,不知道为何听到“事件”就有一种莫名的兴奋.可能是之前的那些知识点过于枯燥无味吧,说起事件感觉顿时高大上了.今天我们就来好好分析下这个高大上的东西. 可以说,如果没有事件我们的页面就只能 ...
- 一步步学习javascript基础篇(6):函数表达式之【闭包】
回顾前面介绍过的三种定义函数方式 1. function sum (num1, num2) { return num1 + num2; } //函数声明语法定义 2. var sum = funct ...
- 一步步学习javascript基础篇(4):面向对象设计之创建对象(工厂、原型和构造函数等模式)
前面我们介绍了可以通过Object构造函数或对象字面量都可以用来创建单个对象,但是如果需要创建多个对象的话,显然很多冗余代码. 接下来介绍几种模式来创建对象.不过在此之前,我们还是先来了解下 type ...
- 一步步学习javascript基础篇(3):Object、Function等引用类型
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...
- 一步步学习javascript基础篇(1):基本概念
一.数据类型 数据类型 基本数据类型(五种) Undefined Null Boolean Number String 复杂数据类型(一种) Object Undefined:只有一个值undefin ...
- 转:如何学习javascript
ps:每过一段时间就会发觉自己懂的越来越少,打开编辑器的时候不知道从何入手.兴许是过于急于求成,总没有系统地去对这门语言进行学习,囫囵吞枣,只想着能够解决工作需求.是时候让自己重新出发,从零开始,一页 ...
- 每个程序员都需要学习 JavaScript 的7个理由
最近在和招聘经理交流现在找一个好的程序员有多难的时候,我渐渐意识到了现在编程语言越来越倾重于JavaScript.Web开发人员尤其如此.所以,如果你是一个程序员,那么你应该去学习JavaScript ...
- 学习KnockOut第二篇之Counter
学习KnockOut第二篇之Counter 欲看此 ...
随机推荐
- [COCI 2023/2024 #2] Zatopljenje 题解
UPDATE on 2024.4.25 改掉奇怪压行码风,并稍作排版. 前言 题目链接:洛谷. 题目分析 首先发现区间中的个数等于 \(\texttt{高度大于 x 的位置的个数} - \texttt ...
- 社区6月月报 | Apache DolphinScheduler重要修复和优化记录
各位热爱Apache DolphinScheduler的小伙伴们,社区6月月报更新啦!这里将记录Apache DolphinScheduler社区每月的重要更新,欢迎关注. 月度Merge Stars ...
- harbor重启后无法自启动解决方案
1. 创建 systemd 服务单元文件 编辑服务文件: 使用以下命令创建并编辑 systemd 服务文件: sudo vim /etc/systemd/system/harbor.service 添 ...
- 无分号js风格注意的三个问题
建议如果一行代码是以 ( [ ` 开头的,则最好都在其前面补上一个分号. // 1.( function say() { console.log('hello world') } // ...
- WSL 使用
WSL 是一个为在 Windows 10 和 Windows Server 2019 以上能够原生运行 Linux 二进制可执行文件(ELF 格式)的兼容层.可以把它当作一个只能用命令行交互的 Lin ...
- containerd 拉取k8s.gcr.io/pause镜像i/o timeout
由于k8s.gcr.io 需要连外网才可以拉取到,导致 k8s 的基础容器 pause 经常无法获取.k8s docker 可使用代理服拉取,再利用 docker tag 解决问题 docker pu ...
- Goby 漏洞发布|泛微 e-cology v10 appThirdLogin 权限绕过漏洞【漏洞复现】
漏洞名称:泛微 e-cology v10 appThirdLogin 权限绕过漏洞 English Name:Weaver e-cology v10 appThirdLogin Permission ...
- 音视频 SDK |合理配置视频参数,提升使用质量
一.前言 在视频通话或直播时,开发者可以根据需要指定推流和拉流视频相关配置,如视频采集分辨率.视频编码输出分辨率.视频帧率.码率.视图模式和镜像模式. 设置合适的视频分辨率.帧率和码率可以在音视频场景 ...
- DOM – MutationObserver
介绍 它和 IntersectionObserver, ResizeObserver 差不多, 都是观察 element 变化的. 它可以观察元素的 attribute 增加, 移除, 修改, app ...
- ASP.NET Core – Handle Error on Web API
前言 上一篇讲了 ASP.NET Core – Handle Error on Razor Page 这一篇继续说说 Web API 的错误处理. 主要参考 Handle errors in ASP. ...