js基础(三)

一、for循环

1、循环三要素

变量初始化  条件判断  变量更新

<script>
  // 1. 语法格式
  // for(起始值; 终止条件; 变化量) {
  //   // 要重复执行的代码
  // }

  // 2. 示例:在网页中输入标题标签
  // 起始值为 1
  // 变化量 i++
  // 终止条件 i <= 6
  for(let i = 1; i <= 6; i++) {
    document.write(`<h${i}>循环控制,即重复执行<h${i}>`)
  }

2、for循环基本语法
for(变量初始化;条件判断;变量更新){
    循环体代码  需要重复执行的代码
}

for(let num = 1; num <= 20;num++){
      console.log(`加油努力 拉屎要用力
拉不出来没关系,至少放个屁,第${num}次`);
    }

3、执行规则

for(语句1;语句2;语句3){
    循环体
}

① 执行语句1(变量初始化,只会执行一次)

② 判断语句2是否成立

成立,则执行循环体代码

不成立,循环结束,执行大括号后面的代码

③ 重复步骤“②”

4、退出循环

break : 退出整个循环,一般用于结果已经得到,后续的循环不需要的时候可以使用

  for(let i = 1;i <= 10;i++){
    if(i === 5){
      break
    }
  }

continue :退出当前循环,退出本次循环,一般用于排除或者跳过某一个选项的时候,可以使用continue

  for(let i = 1;i <= 10;i++){
    if(i === 5){
      break
    }
  }

5、循环嵌套

for(外部声明记录循环的变量; 循环条件;变化量){
		for(内部声明记录循环次数的变量;循环条件;变化量){
				循环体
		}
}

注意:外层执行一次,内层执行多次

for(let i = 1;i <= 5;i++){
        for(let n = 1;n <= i;n++){
          document.write('★')
        }
        document.write('<br>')
      }

//打印小星星
//第一行一个,第二行两个,以此类推
<!--  九九乘法表  -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    div{
      border: 1px solid rgb(26, 255, 0);
      display: inline-block;
      padding: 5px 10px;
      margin: 2px;
      width: 99px;
      border-radius: 5px;
      text-align: center;
      color: rgba(255, 0, 0, 0.716);
      background-color: rgb(132, 249, 161);
    }
  </style>
</head>
<body>
  <script>
for(let i = 1;i <= 9;i++){
      for(let n = 1;n <= i; n++){
        document.write(`<div>${n} x ${i} = ${n * i}</div>`)
      }
      document.write('<br>')
    }
  </script>
</body>
</html>

6、死循环

while  构造死循环

while (true){  }

for  构造无限循环   没有起始值,也没有结束值

for( ; ; ){   }

for 循环和 while一样,如果不合理设置增量和终止条件,便会产生死循环

当明确循环次数的时候,推荐使用for循环

当明确循环次数的时候,推荐使用for循环

二、数组

1、声明数组

   自变量 [ ]

let arr = [ ]   //它是空数组

使用new 关键字声明

let array = new Array(1,2,3,4)
console.log(array)   →  此时array为(1,2,3,4)

2、遍历数组(使用较多 属于重点)

 //语法
for (let i = 0 ; i < 数组名.length ; i++) {
	console.log( 数组名 [ i ] )
}


//示例
for(let i = 0 ; i < arr.length ; i ++ ){
console.log(arr [ i ] )
}

可以理解为让数组循环

方便打印出数组内的每一个数据

3、通过索引值可以为数组里面的元素重新赋值

变量名[索引号] = '值'
console.log(变量名)

4、访问数组  

语法 : 变量名[下标]          

console.log(变量名[下标])

数组的下标是 从 0 开始        

 let classes = ['小明', '小刚', '小红', '小雪', '小丽']
索引值             0       1       2       3       4
  
  // 1. 访问数组,语法格式为:变量名[索引值]
  document.write(classes[0]) // 结果为:小明
  document.write(classes[1]) // 结果为:小刚
  document.write(classes[4]) // 结果为:小丽

5、数组长度

length 可以用来显示数组的长度

数组的长度是 从 1 开始

// 定义一个数组
  let arr = ['张三', '李四', '王五']
  // 数组对应着一个 length 属性,它的含义是获取数组的长度
  console.log(arr.length) // 3

数组作为数据的集合,里面的元素可以是任意数据类型

三、操作数组

1、查询数组

数组名 [下标]

 let arr = ['孬蛋', '精豆']
//数组名    //下标

2、修改数组

数组[下标] = 新值

 let arr = ['孬蛋', '精豆']
let arr[1] = '小精豆'

3、新增数据

push( )  末尾新增元素        有返回值,返回的是数组的长度

语法:变量名.push('数据1','数据2',...)

unshift()在数组开头添加新的元素

语法:变量名.unshift('数据1','数据2',...)

 let arr = ['孬蛋','精豆']
 let arr1 = []
   for (let i = 0;i < arr.length;i++){
    //  console.log(arr[i])
     arr1[i] = arr[i] + '挺闹腾'
   }
   arr1.push('小捣蛋')//在末尾新加一个 小捣蛋
   console.log(arr1)

   arr1.unshift('大捣蛋')//在数组开头新加一个大捣蛋
   console.log(arr1)

4、删除数据

pop( ) 删除最后一个元素

shift()删除第一个元素

splice()删除指定的元素

splice(对应的下标,从这个下标开始  删除的个数)

splice(下标)  表示从当前下标开始,后面所有的全部删除(包括自己)

  let arr = ['大捣蛋','孬蛋','精豆','小捣蛋']
    
    arr.pop()    // 删除最后一个数据
    console.log(arr)    //数组中还剩下 '大捣蛋','孬蛋','精豆'

    
    arr.shift()    // 删除第一个数据
    console.log(arr)    //数组中还剩下 '孬蛋','精豆','小捣蛋'

 
    arr.splice(下标,从当前下标对应的数据开始 往后删除数据的数量)
    arr.splice(1,2)    // 删除指定元素   从下标为 1 的数据开始,删除后边的两个数据
    console.log(arr)    //数组中还剩下 '大捣蛋','小捣蛋'

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值