学习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 欲看此 ...
随机推荐
- 为什么不建议在华为技术论坛(昇腾论坛/mindspore技术论坛)发表帖子和技术博客
华为的硬件设计技术在国内没得说,华为的硬件制造技术基本就没听说过,而华为的软件技术可是出了名的不咋样.一年前曾经在昇腾的页面进入到华为技术论坛,并且发了几篇关于mindspore的编译问题的帖子,由于 ...
- Dolphinscheduler不重启加载Oracle驱动
转载自刘茫茫看山 问题背景 某天我们的租户反馈数据库连接缺少必要的驱动,我们通过日志查看确实是缺少部分数据库的驱动,因为DolphinScheduler默认只带了Oracle和MySQL的驱动,并且需 ...
- 代码随想录Day16
513.找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值. 假设二叉树中至少有一个节点. 示例 1: 输入: root = [2,1,3] 输出: 1 示 ...
- 2024九省联考 数学 T19
寒假有朋友打电话吐槽九省联考,看了眼数学卷子感觉非常刺激.刚开学没事干,试着做一下 \(19\). (\(17\) 分) 离散对数在密码学中有重要的应用.设 \(p\) 是素数,集合 \(X=\{1, ...
- Modbus ASCII 获取数据
根据银河高低温试验箱协议读取数据 1.协议内容 8.1:通讯协议介绍 8.1.5 通讯设置 本通讯协议使用异步串行通讯方式,1 个起始位.8 个数据位.2 个停止 位.无奇偶校验数据通讯格式,其中数据 ...
- 配置 Windows Boot Manager
配置 Windows Boot Manager 通常需要使用 bcdedit 命令,这是一个命令行工具,用于管理 Boot Configuration Data (BCD) 存储.BCD 存储包含了启 ...
- 使用 Gradle 构建包含所有依赖的 JAR 包
在 Gradle 中构建一个包含所有依赖的 jar 包(通常被称为"fat jar"或者"uber jar"),你可以使用 shadowJar 插件来包含编译的 ...
- C++: 16个基础的C++代码性能优化实例
前言 近期推动项目屎山代码进行了一波性能优化,实现了较大的性能提升.这里记录了部分近期代码优化的小技巧,这些例子仅从C++语言层面进行优化,主要在于优化类设计.减少隐含函数调用.减少拷贝等,较为基础实 ...
- opencv equalizeHist
''' What are histograms? Histograms are collected counts of data organized into a set of predefined ...
- Identity – Permission Claims & UserClaimsPrincipalFactory
前言 在 Identity – Authorize 有介绍过, Identity 的验证核心是 Claims. 在 Identity – Without Identity Framework 也看到了 ...