JavaScript基础知识笔记 第二天
一、运算符
1.赋值运算符
赋值运算符:=
等号右边会赋值给左边,左边会是变量
other:
+=
-=
*=
/=
%=
较易,不做详细笔记
2.一元运算符
二元运算符 eg:
let num=10+20
一元运算符 (自增的话)eg:
let num=1
num++
自增:
符号:++
作用:让变量的值 +1
自减:
符号:--
作用:让变量的值 -1
注意:
1.前置自增
++num
在使用这个变量之前自增上1即先加
2.后置自增(more)
num++
在使用这个变量之前使用的是原来变量里储存的数,使用之后再自增上1即后加
3.比较运算符
用于比较两个数据大小、是否相等
符合常识理解不做过多解释,重点提及两点:
1.=== 判断两边是否类型和值都相等(开发建议使用)
2.!== 判断两边是否不全等
了解
·字符串比较,是比较的字符对应的ASCII码
·NaN不等于任何值,包括它本身(涉及到"NaN“ 都是false)
·尽量不要比较小数,因为小数有精度问题
·不同类型之间比较会发生隐式转换
4.逻辑运算符
| 符号 | 名称 | 日常读法 | 特点 |
|---|---|---|---|
| && | 逻辑与 | 并且 | 两边是真才为真 |
| || | 逻辑或 | 或者 | 只要有一个为真即为真 |
| ! | 逻辑非 | 取反 | 真变假 假变真 |
案例
判断一个数是4的倍数,且不是100的倍数
需求:用户输入一个,判断这个数能被4整除,但是不能被100整除,满足条件,页面弹出true,否则弹出false
①:用户输入
②:判断条件, 看余数是不是0,如果是0就是能被整除,余数不是0,则不能被整除
let num=+prompt('请输入一个数:')
alert(num%4===0&&num%100!=0)
5.运算符优先级
二、语句
1.表达式和语句
表达式:
可以被求值的代码
eg: x=7 or 3+4
语句:
可以执行的代码(不一定有值)
eg: alert()
2.分支语句
程序三大流程控制语句:顺序语句、分支语句、循环语句
(1)if分支语句
if语句有三种使用:单分支、双分支、多分支
单分支语法:
if(条件){
满足条件的语句
}
注意:
小括号内在结果不为布尔类型时,存在隐式转换。
若大括号只有一个语句,可省略,但不建议
案例
用户输入高考成绩,如果分数大于700,则提示恭喜考入黑马程序员
let score=prompt('输入成绩:')
if(score>700){
alert('恭喜考入黑马程序员')
}
双分支语法:
if(条件){
满足条件的语句
}else{
不满足条件的语句
}
案例
需求:用户输入,用户名:pink,密码:123456, 则提示登录成功,否则提示登录失败
①:弹出输入框,分别输入用户名和密码
②:通过if语句判断,如果用户名是pink,并且密码是123456,则执行if里面的语句,否则执行else里面的语句。
let name=prompt('请输入用户名:')
let pwd=prompt('请输入密码:')
if(name==='pink'&&pwd==='123456'){
alert('登录成功!')
}else(
alert('登录失败!')
)
多分支语法:
if(条件){
满足条件的语句
}else if(条件){
满足条件的语句
}else{
不满足条件的语句
}
案例
需求:根据输入不同的成绩,反馈不同的评价 注:
①:成绩90以上是 优秀
②:成绩70~90是 良好
③:成绩是60~70之间是 及格
④:成绩60分以下是 不及格
let score=+prompt('请输入成绩:')
if(score>=90){
alert('优秀')
}else if(score>=70&&score<90){
alert('良好')
}else if(score>=60&&score<70){
alert('及格')
}else{
alert('不及格')
}
(2)三元运算符
语法:
条件?满足条件执行的代码 : 不满足条件执行的代码
案例1
需求:用户输入2个数,控制台输出最大的值
①:用户输入2个数
②:利用三元运算符输出最大值
let num1=+prompt('请输入数字1:')
let num2=+prompt('请输入数字2:')
alert(num1>num2?num1:num2)
案例2
需求:用户输入1个数,如果数字小于10,则前面进行补0, 比如 09 03 等
①:为后期页面显示时间做铺垫
②:利用三元运算符 补 0 计算
let num=+prompt('请输入数字:')
alert(num<10?'0'+num:num)
(3)switch语句
语法:
switch(数据){
case 值1:
代码1
break
case 值2:
代码2
break
default:
代码
break
}
注意:没有break会造成case穿透,即一直往下运行代码。
案例
需求:用户输入2个数字,然后输入 + - * / 任何一个,可以计算结果
①:用户输入数字
②:用户输入不同算术运算符,可以去执行不同的运算 (switch)
let num1=+prompt('请输入数字:')
let num2=+prompt('请输入数字:')
let sig=prompt()
switch(sig){
case +:
alert(num1+num2)
break
case -:
alert(num1-num2)
break
case *:
alert(num1*num2)
break
case /:
alert(num1/num2)
break
}
3.循环语句
(1)断点调试
浏览器打开调试界面
-
按F12打开开发者工具
-
点到sources一栏
-
选择代码文件
断点:在某句代码上加的标记就叫断点,当程序执行到这句有标记的代码时会暂停下来
(2)while循环
语法:
while(条件){
重复执行的代码(循环体)
}
过程:判断条件是否满足,满足即运行代码,循环,否则则反之,跳出循环。
while循环三要素:
-
变量起始值
-
终止条件(没有终止条件,循环会一直执行,造成死循环)
-
变量变化量(用自增或者自减)
案例
在页面中打印输出10句“月薪过万”
let i = 0
while (i < 10) {
document.write('月薪过万<br>')
i++
}
补充:
break——退出循环(整个循环)
continue——结束本次循环,执行下一次的循环(一次循环)
案例
需求:页面弹出对话框,‘你爱我吗’,如果输入‘爱’,则结束,否则一直弹出对话框
①:循环条件永远为真,一直弹出对话框
②:循环的时候,重新让用户输入
③:如果用户输入的是: 爱,则退出循环 (break)
while(true){
let love=prompt('你爱我吗?')
if(love==='爱'){
break
}
}