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值全等