当前位置: 首页 > news >正文

JS基础知识(上)

一.字符串

字符串拼接

场景: + 运算符可以实现字符串的拼接。

口诀:数字相加,字符相连

改进:模板字符串

`` (反引号)

在英文输入模式下按键盘的tab键上方那个键(1左边那个键)

内容拼接变量时,用 ${ } 包住变量

二.类型转换

坑: 使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。

隐式转换

规则:

· + 号两边只要有一个是字符串,都会把另外一个转成字符串

· 除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型

小技巧 :

· +号作为正号解析可以转换成数字型

· 任何数据和字符串相加结果都是字符串

显式转换

转换为数字型

· Number(数据) 转成数字类型

如果字符串内容里有非数字,转换失败时结果为 NaN(Not a Number)即不是一个数字

NaN也是number类型的数据,代表非数字

· parseInt(数据) 只保留整数

· parseFloat(数据) 可以保留小数

案例一:订单信息

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>h2 {text-align: center;}table {border-collapse: collapse;height: 80px;margin: 0 auto;text-align: center;}th {padding: 5px 30px;}table,th,td {border: 1px solid #000;}</style>
</head><body><h2>订单确认</h2><script>let price = +prompt('请输入商品价格')let num = +prompt('请输入商品数量')let address = prompt('请输入收货地址')let total = price * numdocument.write(`<table><tr><th>商品名称</th><th>商品价格</th><th>商品数量</th><th>总价</th><th>收货地址</th></tr><tr><td>小米手机青春PLUS</td><td>${price}元</td><td>${num}</td><td>${total}元</td><td>${address}</td></tr></table>`)</script>
</body></html>

案例叮嘱:

1.document.write后面的括号中紧跟的是``

2.注意表格整体写的位置是在document.write后面

3.设定变量时需要分辨清除哪些信息需要prompt隐式转化为数字型,哪些不用。要审题不能一股脑在prompt前全加+

4.熟悉模板字符串的格式和用法


三.比较运算符

注意与c语言的相关知识进行比较区分

开发中判断是否相等,强烈推荐使用===

 案例叮嘱:

 if (score >= 90) {alert('成绩优秀')} else if (score >= 70) {alert('成绩良好')} else if (score >= 60) {alert('成绩及格')} else {alert('成绩不及格')}

 注意score的分段,以前四行为例,如果score没有进入>=90的if语句中这说明它必然<90,在书写下一个条件时就只需要写>=70这个条件即可,完全没有必要再把<90这个条件再写一遍

四.分支语句

if语句

小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型

除了0所有的数字都为真,除了' '所有的字符串也为真

switch语句

1. switch case语句一般用于等值判断,不适合于区间判断
2. switch case一般需要配合break关键字使用 没有break会造成case穿透

· 找到跟小括号里数据全等的case值,并执行里面对应的代码

· 若没有全等 === 的则执行default里的代码

五.循环语句

循环结束:

· break:退出循环

· continue:结束本次循环,继续下次循环

区别:

· continue 退出本次循环,一般用于排除或者跳过某一个选项的时候, 可以使用continue

· break 退出整个循环,一般用于结果已经得到, 后续的循环不需要的时候可以使用

案例二:简易ATM取款机

<script>let money = 100while (true) {let re = +prompt(`请您选择操作:1.存钱2.取钱3.查看余额4.退出`)if (re === 4) breakswitch (re) {case 1:let cun = +prompt('请输入存款金额')money += cunbreakcase 2:let qu = +prompt('请输入取款金额')money -= qubreakcase 3:alert(`您的银行卡余额是${money}元`)break}}</script>

案例叮嘱:

1.注意判断条件是===号

2.注意写操作选项的prompt后面紧跟的是``

3.千万不要忽略switch语言每个case后必须要写break

4.待判断的值一定要跟小括号里的case值全等

http://www.xdnf.cn/news/1123993.html

相关文章:

  • 设计模式(行为型)-迭代器模式
  • H2 与高斯数据库兼容性解决方案:虚拟表与类型处理
  • 前端开发中的常见问题及解决方案
  • 群晖Nas - Docker(ContainerManager)上安装SVN Server和库权限设置问题
  • HarmonyOS从入门到精通:动画设计与实现之九 - 实用动画案例详解(下)
  • Redis作缓存时存在的问题及其解决方案
  • mysql 与redis缓存一致性,延时双删 和先更新数据库,再删除缓存,哪个方案好
  • 《Librosa :一个专为音频信号处理和音乐分析设计的Python库》
  • Pythonic:Python 语言习惯和哲学的代码风格
  • Kubernetes 高级调度01
  • STM32F1_Hal库学习UART
  • 破局与重构:文心大模型开源的产业变革密码
  • Java-ThreadLocal
  • java基础(day07)
  • 打开xmind文件出现黑色
  • 【LeetCode 热题 100】94. 二叉树的中序遍历——DFS
  • 13.计算 Python 字符串的字节大小
  • SpringMVC2
  • 鸿蒙开发NDK之---- 如何将ArkTs的类型转化成C++对应的类型(基础类型,包含部分代码解释)
  • 修改主机名颜色脚本
  • 虚拟货币交易:游走在合法与犯罪的生死线
  • 在Adobe Substance 3D Painter中,已经有基础图层,如何新建一个图层A,clone基础图层的纹理和内容到A图层
  • Java:继承和多态(必会知识点整理)
  • 【React Natve】NetworkError 和 TouchableOpacity 组件
  • Python 基础语法2:组合数据类型、异常
  • 【深度学习框架终极PK】TensorFlow/PyTorch/MindSpore深度解析!选对框架效率翻倍
  • JavaScript中Object.defineProperty的作用和用法以及和proxy的区别
  • SSM框架学习——day1
  • Datawhale AI夏令营-基于带货视频评论的用户洞察挑战赛
  • AI Linux 运维笔记