老己的JavaScript基础笔记2

23 阅读5分钟

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.运算符优先级

image.png

二、语句

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(数据){
    case1:
        代码1
        break
    case2:
        代码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)断点调试

浏览器打开调试界面

  1. 按F12打开开发者工具

  2. 点到sources一栏

  3. 选择代码文件

断点:在某句代码上加的标记就叫断点,当程序执行到这句有标记的代码时会暂停下来

(2)while循环

语法:

while(条件){
    重复执行的代码(循环体)
}

过程:判断条件是否满足,满足即运行代码,循环,否则则反之,跳出循环。

while循环三要素:

  1. 变量起始值

  2. 终止条件(没有终止条件,循环会一直执行,造成死循环)

  3. 变量变化量(用自增或者自减)

案例

在页面中打印输出10句“月薪过万”

let i = 0
while (i < 10) {
  document.write('月薪过万<br>')
  i++
}

补充:

break——退出循环(整个循环)

continue——结束本次循环,执行下一次的循环(一次循环)

案例

需求:页面弹出对话框,‘你爱我吗’,如果输入‘爱’,则结束,否则一直弹出对话框

①:循环条件永远为真,一直弹出对话框

②:循环的时候,重新让用户输入

③:如果用户输入的是: 爱,则退出循环 (break)

while(true){
    let love=prompt('你爱我吗?')
    if(love==='爱'){
        break
    }
}