学习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 欲看此 ...
随机推荐
- ubuntu22.04 终端显示数字剑雨
数字剑雨是读大学时候常用的屏保,这些年基本也再没有用过,不经意间想到了这个曾经的屏保,发现Ubuntu原版的桌面系统是没有屏保的,又不想换桌面系统,想想还是单独安装一下这个数字剑雨吧. 在Ubuntu ...
- JavaScript程序设计模式小技巧——策略模式,快看快用!!!
## 前言> 系列首发于公众号[『非同质前端札记』](https://mp.weixin.qq.com/s?__biz=MzkyOTI2MzE0MQ==&mid=2247485576&a ...
- 自己实现一个自动检测网卡状态,并设置ip地址,源码见文章底部
阅读本文前,请先学习下面几篇文章 <搞懂进程组.会话.控制终端关系,才能明白守护进程干嘛的?> <简简单单教你如何用C语言列举当前所有网口!> <Linux下C语言操作网 ...
- C语言操作时间函数time.ctime,实现定时执行某个任务小例子
时间操作函数在实际项目开发中会经常用到,最近做项目也正好用到就正好顺便整理一下. 时间概述 由上图可知: 通过系统调用函数time()可以从内核获得一个类型为time_t的1个值,该值叫calenda ...
- 卷积神经网络CNN实战:MINST手写数字识别——网络定义
本文基于python-pytorch框架,编写CNN网络,并采用CNN手写数字数据集训练.测试网络. 网络的构建 以LeNet-5 网络为例 类定义 首先先了解一下网络的最基本框架 一般而言,首先创建 ...
- [kernel] 带着问题看源码 —— 脚本是如何被 execve 调用的
前言 在<[apue] 进程控制那些事儿>一文的"进程创建-> exec -> 解释器文件"一节中,曾提到脚本文件的识别是由内核作为 exec 系统调用处理 ...
- 禁止 SSH 传递 locale 环境变量
SSH 在连接远程机器时默认会传递一些环境变量,其中就包括你本机的 locale 变量.这会导致远程机器的 locale 配置变成和你本地主机一样.有时候我们不希望这种行为,我们可以通过修改 SSH ...
- .NET 压缩/解压文件
本文为大家介绍下.NET解压/压缩zip文件.虽然解压缩不是啥核心技术,但压缩性能以及进度处理还是需要关注下,针对使用较多的zip开源组件验证,给大家提供技术选型 目前了解到的常用技术方案有Syste ...
- 【SpringBoot Demo】MySQL + JPA + Hibernate + Springboot + Maven Demo
主要包含:springboot+jpa+hibernate+mysql+lombok (两年前写过一个,现在重新记录一个) 1. 目录结构: 2. pom 文件 1 <?xml version= ...
- 戴尔笔记本游匣DELL G16 7620更换固态硬盘从选购固态硬盘到系统和应用程序迁移(克隆)全过程(教程)
又到了捣鼓电脑的时候了.去年(2022年)8月14日买的电脑,当时7月份刚出戴尔游匣G16,搜了一下,2022年7月22日,戴尔首发游匣G16国行版本. 到现在也就用了差不多半年的时间,我的内存满了, ...