2022-07-12 第七组 姜珊 学习笔记

循环 4种循环

1.for 循环

语法

for(let i = 0;i < 10;i++){
    循环体
       console.log(i);
     }

for循环的特殊写法

 for(;;){
 }
        for(let i = 0;;){
        }
       for(let i = 0;;i++){
}
      for(let i = 0; i < 10;){
  }

​ 1.let i = 0;初始化条件,当i=0时,循环开始,只走一次,第一次循环开启之前初始化

​ 2.i < 10;判断条件,会和初始化条件配合循环的执行,决定了循环什么时候停止

​ 3.循环体,循环在重复做什么事情

​ 4.i++ 循环条件,每次循环体执行完毕让i产生变化

​ 面试题:for循环的执行步骤

​ a.i可以看做是一个局部变量

​ b.循环条件是可以根据实际情况更改的

​ c.当修改循环条件时,要确保循环可以向着终点前进去改变

​ d.我们在开发中,尽量避免死循环

当变量的作用域出现了重叠,不要出现重名的情况。 尤其是全局和局部,变量最好不好重名

判断一个数在数组中是否存在,如果存在,返回它的下标如果不存在,返回-1

function exists(num,array){
            let index = -1;
            for(let i = 0;i < array.length;i++){
                if(array[i] == num){
                    index = i;
                }
            }
            return index;
        }

        console.log(exists(100,arr));

数组有一个属性length-长度

长度:数组中有多少个元素

注意区分长度和下标(索引)

取出数组中的最后一个元素,不能是undefined

把数组中的每个元素都操作一遍,数组的遍历(迭代)

for in语句:

能做得事情较少,只能做遍历操作,可以理解为a是arr数组的下标通过映射给a

for(let a in arr){
            console.log(arr[a]);
        }

while循环 do...while循环

语法

function hello(){
           let a = 10;
           while(a < 100){
           console.log(a);
              a++;
         }
           return a;

let a = 10;初始化条件

​ a < 100 循环判断条件

​ 打印输出 循环体

​ a++ 循环条件

​ while循环的执行流程:

​ 1.初始化条件

​ 2.判断条件

​ 3.执行循环体

​ 4.自增

while循环 PK for循环

​ 初始化条件不好控制 每个for循环的初始化条件都是隔离的

​ 循环条件不好控制 每个for循环的a++都是隔离的

​ 写函数时,返回值便于管理

例今年是2022年。

​ 今天我们公司有10个人

​ 每年公司会以百分之10的比重招人

​ 问:哪一年公司人数突破100人。

 function count(){
  let year = 2022;
  let sum = 10;
  while(sum <= 100) {
      sum *= 1.1;
       year++;
     }
      return year + "年人数超过了100人,人数是:" + sum;
      console.log(count());

do...while循环

let a = 10;
      while(a == 10){
        
      }
       do {
         console.log(a);
         a++;
       } while (a > 100);

​ let a 初始化条件

​ do做什么事

​ log循环体

​ a > 100判断条件

​ a++循环条件

​ do...while和while的区别:

​ do...while先执行一次,再判断。无论条件是否成立,至少执行一次

​ while:如果条件不成立,一次都不走

​ 死循环:

​ for(;😉{}

​ while(true){}

​ do{}while(true);

JS内置函数

​ Array:

​ 1.concat()连接

​ 2.join('-')设置分隔符连接数组为一个字符串

​ 3.pop()删除最后一个元素

​ 4.sort()排序,从小到大排序

​ Global:

​ 1.isNaN():判断一个值是不是数字

​ 2.parseFloat():把一个整数转换成小数

​ 3.parseInt():把一个小数转成整数,取整

​ 4.number():把一个值转成number类型

​ 5.string():把其他类型转成字符串110 120 119

​ String:

​ 1.charAt(1):取出指定位置的字符

​ 2.indexOf('a'):判断指定的字符是否存在,如果存在返回下标,如果不存在,返回-1

​ 3.lastIndexOf('a'):从后往前找

​ 4.replace('a','b'):替换字符串

​ 5.split('-'):根据-去拆分字符串,得到一个数组

​ 6.substring(1,6):字符串截取

​ Math:

​ 1.ceil()向上取整

​ 2.floor()向下取整

​ 3.round()四舍五入

​ 4.random()随机,生成一个0-1的随机数

​ 5.tan() sin cos cot

​ 6.E PI

​ Date:

​ 1.new Date();获取系统当前日期

​ 2.getDate():返回日期的日 1~31

​ 3.getHours():返回时间中的时0~23

​ 4.getMinutes():返回时间中的分

​ 5.getSeconds():返回时间中的秒

​ 6.getTime():获取系统当前时间

​ 7.getYear():获取年

元素结点:

1.根据id去抓取HTML元素

 let div1 = document.getElementById("div1");
      console.log(div1);

2.根据class抓取HTML元素,得到的时一堆元素

let divs = document.getElementsByClassName("div1");
   console.log(divs[0]);

3.根据tag抓取HTML元素,得到的是一堆元素

 let divs = document.getElementsByTagName("div");

      console.log(divs[0]);

​ 新方法

1.根据选择器去抓取一个元素

 let div = document.querySelector('.div2');

      console.log(div);

2.根据选择器去抓取全部元素

let divs = document.querySelectorAll('.div1');

      console.log(divs[0]);
      let div = document.querySelector("div");
  1. 获取元素内部的文本,不会获取到内部的HTML标签
console.log(div.innerText);

​ 4.获取元素内部的所有内容,包括HTML标签

console.log(div.innerHTML);

​ 改变元素的内容

div.innerText = "<h1>我是通过JS来的</h1>";

      div.innerHTML = "<h1>我是JS来的</h1>";
      let username = document.querySelector("#username");
      username.value = "我是JS来的";

事件

事件就是当我们和HTML标签元素发生交互时产生的行为

​ onclick:单击事件

​ ondblclick:双击事件

​ onblur:失去焦点

​ onfocus:获得焦点

​ onchange:改变

​ onload:加载

今日总结

1.循环-流程控制(4种)了解,嵌套理解有困难

2.内置函数:了解

3.事件:理解

心得:知识点单看都理解,但是组合在一起就理解有一点困难比如,循环判断事件组合嵌套。当提出需求是自己很难打出一个程序

posted on 2022-07-12 22:20  j珊  阅读(39)  评论(0)    收藏  举报

导航