JS 语句用于执行某种操作(JS 表达式是计算一个结果),以 ; 结尾 —— 对换行、缩进、空格不敏感,严格区分大小写。

声明语句

// 声明变量 a , 此时 a 的值为 undefined
let a;
  • 1.
  • 2.

赋值语句 =

用于将数据赋值给变量(即将数据存入变量名对应的存储空间内,若数据是引用类型,则存入的是数据在堆内存中的地址)

let a = 1;
  • 1.

有的赋值语句进行了简写:

let a = i++ // 先赋值,再自增,相当于 a = i ; i=i+1 ; 
let a = ++i // 先自增,再赋值,相当于 i=i+1 ; a = i ;
  • 1.
  • 2.

条件判断语句

If else

  • 关键字 if else
  • 判断条件为计算值为 true / false 的表达式,写在 ()
  • 不同条件执行的代码写在代码块 {}
// 经典应用 -- 人脸识别
let face="朝阳";

if(face==='朝阳'){
  alert('欢迎朝阳!')
}else{
  alert('你是谁?')
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
// 经典应用 -- 分数评级
let score = 88; // 声明变量score的值为88

if (score>=90  && score<100) {  // 假如 score在90-100之间,就是优秀
    alert("优秀");
} else if (score>=70  && score<90) { // 假如 score在70-90之间,就是良好
  alert("良好");
}  else if (score>=60  && score<70) { // 假如 score在60-70之间,就是及格
  alert("及格");
} else if (score>=0  && score<60) {  // 假如 score在0-60之间,就是不及格
  alert("不及格");
} else {   // 假如 score小于0 或者大于100,则是不存在的考试成绩,属于非法数据
  alert("你确定这是我的考试成绩?只能是0-100之间的数字哦!");
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

switch case

  • 关键字 switch case
  • 条件表达式写在 switch 后在 ()
  • case 列出条件表达式不同的计算结果
  • 若计算结果与某个case 匹配,则执行该 case 后的代码,并用 break 结束后续 case 的判断,提前跳出 switch 语句。
  • 若计算结果在 case 中全部匹配失败,则执行 default 后的代码
// 经典应用 -- 密码本
let state = "1";

switch (state) {
  case "1":
    alert("录入");
    break;
  case "2":
    alert("待审核");
    break;
  case "3":
    alert("审核通过");
    break;
  case "4":
    alert("审核不通过");
    break;
  default:
    alert("状态异常!");
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

循环语句

for

通用的传统循环方式,书写复杂,不太方便

let list=['成都','武汉','北京']

for(let i = 0; i < list.length; i++){
    alert(list[i])
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

for of

ES6 新增语法

新兴的循环方式,常用于数组、类数组的遍历

const list= ['a','b'];
for(const item of list){
  console.log(item );
}
  • 1.
  • 2.
  • 3.
  • 4.

for in

主要用于遍历对象

for (let key in obj) {
    console.log("属性名:" + key );
    console.log("属性值:" + obj[key ]);
}
  • 1.
  • 2.
  • 3.
  • 4.

while

先判断后执行

while(条件表达式){
	语句...
}
  • 1.
  • 2.
  • 3.

执行流程:

  • 先对条件表达式进行求值
  • 如果值为true,则执行循环体
  • 循环体执行完毕以后,重新对条件表达式进行求值
  • 如果值为true,则继续执行循环体,依此类推
  • 如果值为false,则终止循环
  • 可以使用 break 提前终止循环

do…while

先执行后判断

do{
    语句...
}while(条件表达式)
  • 1.
  • 2.
  • 3.

执行流程:

  • 先执行循环体
  • 循环体执行完毕以后,再对 while 后的条件表达式进行求值
  • 如果值为 true,则继续执行循环体
  • 循环体执行完毕以后,重新对条件表达式进行求值
  • 如果值为true,则继续执行循环体,依此类推
  • 如果值为false,则终止循环
  • 可以使用 break 提前终止循环

中断语句 break

  • 用于 switch 语句,立即结束条件判断
  • 用于循环语句,立即结束整个循环
for (const item of list) {
  // 当 item 大于 2 时,结束循环
  if (item > 2) {
    break;
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

继续语句 continue

提前跳出当次循环,进入下一循环,只会对离他最近的循环起作用。

for (const item of list) {
  // 当 item 大于 2 时,立即跳出本次循环(不会执行后续的打印 item),进入下一循环
  if (item > 2) {
    continue;
  }
  console.log(item)
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

返回语句 return

只能在函数体中使用,用于终止函数的执行并返回一个值

function myFunction(a, b) {
    return a * b;                // 函数返回 a 和 b 的乘积
}
  • 1.
  • 2.
  • 3.
  • return true —— 返回 true ,在事件中为执行默认动作。
  • return false ——返回 false ,在事件中为取消默认动作,如禁止a链接点击跳转,可以在**“onclick”** 事件中return false
  • return —— 返回 undefined ,用于终止当前函数,继续执行函数外的后续语句。