学习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 欲看此 ...
随机推荐
- MAML —— Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
论文地址: https://arxiv.org/abs/1703.03400 官方代码: 有监督学习: https://github.com/cbfinn/maml 强化学习: https://git ...
- QT基础-弹出框(信息框,模态框,操作框)
学习前端知识的时候就了解到让用户使用的界面一定要足够清晰,因为你永远不知道用户会以何种方式打开你开发的软件,所以莫泰提示框就很重要了.下面将会介绍几本的集中模态对话框,用来提升用户体验! 1.模态框 ...
- Linux——添加默认路由(能ping通本网段,但是ping不通其他网段)
2024/07/15 1.问题描述 2.问题处理 3.其他问题 1.问题描述 昨天服务器突然断电,今天重启后,网络出了些问题,具体情况如下: 能ping通本机IP ping不通网关 ping不通本网段 ...
- GNU make-Makefile文件简介
Makefile简介 Makefile是一种特殊格式的文件,被make工具使用来管理软件的构建过程.Makefile定义了一组规则和依赖关系,告诉make如何编译和链接程序. Makefile语句 T ...
- WinForm 使用委托动态更新数据
使用委托动态更新数据 详细代码 // 声明一个委托,用于更新消息的文本提示 private delegate void UpdateMsgTextDelegate(string text); // 定 ...
- android 反编译APK取源代码。
坑,自己写的Android APK 程序,发现线上版本是 1.9.4 ,本地的代码版本却是 1.9.1.不知道到底怎么回事,svn里面也没有日志记录.....只能从线上apk反编译来看看了,幸好这个升 ...
- Redis过期策略以及Redis的内存淘汰机制
此篇介绍了Redis过期策略以及Redis的内存淘汰机制,从内存淘汰的8种策略,如何开启内存淘汰策略到如何选择合适的淘汰策略,对Redis的内存淘汰机制做了全方位的阐述 如何高效的使用内存对于redi ...
- springboot 前端访问服务器上的图片及附件
一.需求 后端是springboot,附件上传到服务器上,前端访问服务器上的附件,如:显示图片.视频.文件等 二.解决方法 springboot 中进行资源映射,根据路径将磁盘上的文件映射为资源返回到 ...
- ASP.NET Core – Globalization & Localization
前言 之前就写过 2 篇, 只是写的很乱, 这篇作为整理版. Asp.net core (学习笔记 路由和语言 route & language) Asp.net core 学习笔记之 glo ...
- ASP.NET Core Library – Excel 读写
前言 以前写过 EPPlus 的笔记, 但后来 EPPlus 开始收费了.... (这好像是 .NET 生态的宿命) 在找替代方案中看中了微软的 Open XML SDK. 但经过一番折腾, 它确实太 ...