一、什么是语句?
- 表达式就是一个最简单的语句
- 单语句 :每一个单语句结尾都要加分号 你可以加也可以不加
- 复合语句
- 语句组成了程序
二、js有哪些语句?
1、if语句
条件语句用于基于不同的条件来执行不同的动作。
通常在写代码时,总是需要为不同的决定来执行不同的动作。我们可以在代码中使用条件语句来完成该任务。
在 JavaScript 中,我们可使用以下条件语句:
- if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
- if…else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
- if…else if…else 语句- 使用该语句来选择多个代码块之一来执行
- switch 语句 - 使用该语句来选择多个代码块之一来执行
1)if 语句
只有当指定条件为 true 时,该语句才会执行代码。请使用小写的 if 。使用大写字母(IF)会生成 JavaScript 错误!
语法如下:
if (condition)
{
*当条件为 true 时执行的代码*
}
2) if…else 语句
使用 if…else 语句在条件为 true 时执行if代码,在条件为 false 时执行else里代码。
语法如下:
if (condition)
{
当条件为 true 时执行的代码
}
else
{
当条件不为 true 时执行的代码
}
3)if…else if…else 语句
使用 if…else if…else 语句来选择多个代码块之一来执行。if-else-if-else 不是js的标准语法 是程序员利用js引擎的纠错功能实现了其他语言的这个功能
语法如下:
if (condition1)
{
当条件 1 为 true 时执行的代码
}
else if (condition2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}
例题
var a = 20;
if (a < 18) {
console.log("未成年")
} else if (a > 22) {
console.log("可以喝酒还可以结婚")
} else {
console.log("可以喝酒")
}
2、 switch语句
switch 语句用于基于不同的条件来执行不同的动作。
使用 switch 语句来选择要执行的多个代码块之一。使用 break 来阻止代码自动地向下一个 case 运行。default 关键词,使用 default 关键词来规定匹配不存在时做的事情。
语法如下:
switch(n) {
case 10: //执行代码块 1
break;
case 20: //执行代码块 2
break;
default: //与 case 1 和 case 2 不同时执行的代码
}
工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。
例题:
var net="4g"
switch (net){
case "2g":
console.log("现在是2g网络环境");
console.log("请求数据2")
break;
case "3g":
console.log("现在是3g网络环境");
console.log("请求数据3")
break;
case "4g":
console.log("现在是4g网络环境");
console.log("请求数据4")
break;
case "5g":
console.log("现在是5g网络环境");
console.log("请求数据5")
break;
default:
console.log("未知网络")
}
2、 for循环语句
循环可以将代码块执行指定的次数。
如果希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。
语法如下:
for (语句 1; 语句 2; 语句 3)
{
被执行的代码块
}
for (语句 1; 语句 2;)
{
被执行的代码块;
语句 3;
}
-
语句 1 (代码块)循环开始前执行 starts.
-
语句 2 定义运行循环(代码块)的条件
-
语句 3 在每次循环(代码块)已被执行之后执行
for循环1
练习:
题1:打印数组
var arr=["hello","css","js","node"]
for (var i = 0; i < arr.length ;i++) {
console.log(i,arr[i])
}
题2:打印数组第二个到第6个元素
var arr=[20,3,4,5,10,6,20,7,35,45,6,56,87,768]
//打印数据的第二个到第6个元素
for(var i=1;i<6;i++){
console.log(arr[i])
}
题3:打印数组下标为奇数的元素
思维1:奇数的下标: 需要一个变量 一直有规律的变化
初始值是: 1
结束值:arr.length-1如果为奇数 就是它 为偶数就是arr.length-2==>不能超过arr.length
变化规律:变量每次变化值增加2
for(var i=1;i<arr.length;i=i+2){
console.log(i,arr[i])
}
思维2:有一个变化的变量
初始值:0
结束值:arr.length-1==>不能超过arr.length
变化规律:每次加1
for(var i=0;i<arr.length;i++){
if(i%2==1){
console.log(i,arr[i])
}
}
for循环2
笔试题中会考几个表达式中出选择题
练习:
题1:
for(var i=0,j=6;i<4,j>0;i++,j--){
//6 5 4 3 2 1
//0 1 2 3 4 5
console.log(i)
}
答案:0 1 2 3 4 5
解析:逗号表达式最后一个表达式才是结果,i<4,j>0,i<4只是运行了,j>0才是判定条件
题2:
var arr=[]
for(var i=0;i<4;i++){
arr[i]=function(){
console.log(i)}
}
arr[0]()//4
arr[1]()//4
答案:4 4
解析:for循环只会保留最后的变量的值
函数只会在调用之后运行,在调用函数的时候for循环已经运行完了,所以此时i=4
代码解析:
var arr=[]
{
var i=0//1 2;
if(0<4){
arr[0]=function(){
console.log(i)}//console.log(i)不运行不取值
i=i+1
if(1<4){
arr[1]=function(){
console.log(i)}//console.log(i)不运行不取值
i=i+1
if(2<4){
arr[2]=function(){
console.log(i)}//console.log(i)不运行不取值
i++
if(3<4){
arr[3]=function(){
console.log(i)}//console.log(i)不运行不取值
i++
if(4<