当前位置: 首页 > 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.dtcms.com/a/279980.html

相关文章:

  • 2.查询操作-demo
  • AV1 元数据信息
  • k8s集群存储解决方案 GlusterFS
  • ThreadLocal内部结构深度解析
  • Python 数据建模与分析项目实战预备 Day5 - 模型训练与评估
  • 通过explain查看MySQL索引是否正确引用
  • VNC和Socket
  • 我对muduo的梳理以及AI的更改
  • elementPlus中的el-table实现合并单元格
  • 从0到1实现Shell!Linux进程程序替换详解
  • 九、官方人格提示词汇总(中-3)
  • Linux基础指令及权限
  • 融合竞争学习与高斯扰动的多目标加权平均算法(MOWAA)求解多无人机协同路径规划(多起点多终点,起始点、无人机数、障碍物可自定义),提供完整MATLAB代码
  • 【地理探测器】解释
  • pip install torch各种版本的命令及地址
  • Java学习——使用jpackage把jar文件打包为可执行的exe文件
  • SnapKit介绍与使用
  • OneCode 3.0: 注解驱动的Spring生态增强方案
  • windows系统中双击.py文件可以直接运行
  • 第 2 章 数据类型及其运算
  • JSCPC 2025 江苏省赛
  • VictoriaMetrics 架构
  • 位置编码类型彩色图解
  • 考虑频率耦合的构网型(GFM)VSG变流器(电压电流双闭环控制结构)的二维序阻抗与降维SISO序阻抗建模详细推导及扫频对比验证
  • 【人工智能99问】什么是深度学习?(2/99)
  • Kimi K2智能体能力的技术突破:大规模数据合成 + 通用强化学习
  • 名片管理系统IV
  • 螺旋模型:风险分析驱动的渐进式开发
  • cuda优化之softmax
  • 组件化思想