Math方法、定时器

一、= 的含义
1)如果右边的数据是基础数据类型(字符串、数字、未定义、布尔值、null空指针)
赋值:右边的数据给左边变量,给完之后,左右就没有关系了
在这里插入图片描述
在这里插入图片描述

2)如果右边的数据是对象(只有对象才有引用关系)
则 = 是引用:右边数据给左边,左右建立引用关系,两个变量建立了引用关系之后,任意一边的改变(是指使用点操作或者 [] 符号的操作)会影响另外一边。但是重新赋值是不会影响的

例如:点操作1
在这里插入图片描述
结果:
在这里插入图片描述
例如:点操作2

<div id="wrap">123</div> 
let oWrap = document . getElementById (”wrap")
// oNrap.classList .add ("abc") ;
let x= oWrap.classList;
x.add("aaa") ;//x.["add"]("aaa");下标操作

结果
在这里插入图片描述
例如:数组操作
在这里插入图片描述
在这里插入图片描述
例如4:任意一边的改变(是指使用点操作或者 [] 符号/下标的操作)会影响另外一边。但是重新赋值是不会影响另外一边
在这里插入图片描述
在这里插入图片描述
原因

在这里插入图片描述
在这里插入图片描述
3)数据 类型的 === 判断

//基础数据类型在做比较运行的时候,只看值与类型一不一样
let a=10;
let b=10;
console.log(a === b) ; / /true
//对象数据类型,在做比较的时候,比较的是地址
let c={name:"lala"};
let b={name:"lala"};
let e=c;
console. log(c ===b); // false
console.log(c === e) ; // true

二、必记:箭头函数(属于一种函数的写法)
特性:内部不会产生新的this执行(父级作用域this指向是谁这里的this指向就是谁)
例如:
在这里插入图片描述

let a=function(){
	console.log(123);
};
//箭头函数的写法, ()=> 相当于function()
let a=  ()=>{
console.log (123) ;
};
a();//打印123

1)注意 :当形参只有一个的时候,() 括号可以省略不写(除此之外,任何情况下都要写小括号)
2)函数内部的代码只用一行返回的时候 {} 符号可以省略不写,省略大括号的时候,=> 右边的表达式就是函数的return的值
例如:1

let X = (a,b)=>{
	return a+b;
};
	let x = (a,b)=>a+b;//a+b默认函数的return值
	console.log( x(3, 4) ) ;

例如:2

在这里插入图片描述
3)箭头函数的this指向会指向父级的this的指向
在这里插入图片描述
结果:
在这里插入图片描述
3)事件中不可以使用箭头函数,因为箭头函数的this指向会指向父级的this的指向

三、必记:数组的一些API
1)日常操作
在这里插入图片描述
在这里插入图片描述
2)修改数组的长度
在这里插入图片描述
结果:后面的数据被清除掉
考题如何快速的把一个数组清空,前提是不改变引用的前提下清空,(如arr=[]这种写法则改变了引用了,因为这种写法是重新赋值了)?
length=0 即可

在这里插入图片描述
3)数组的长度改变了

let arr = [11,22,33,44] ;
arr.length = 10;
console. log(arr) ;/(10) [11, 2233, 44, empty x 6]6个空项.empty不是数据
console. log(arr[6]) ;//undefined

4)length 下标操作

//功能:push pop unshift shift 只能在前后加减
//splice可以指定位置进行删除或增加
let arr = [11,22,33,44] ;
//unshift 往数组前面添加数据
// arr.unshift (999) ;
//console. log (arr) ;//[999 ,11,22,33,44] ;

//删除数组第一个数据
//arr.shift() ;
//console. log (arr) ;//[,11,22,33,44] ;

//push往数组后面添加数据
 arr.push (678) ;
console. log (arr) ;//[,11,22,33,44,678] ;
// arr.push(5, 6) ;
//console. log (arr) ;//[,11,22,33,44,5,6] ;

//pop删除数组的最后一个数据,不需要写参数,只能删除一个
//如果需要多删除几个就多写几个pop
// arr.pop () ;
//console. log (arr) ;//[,11,22,33] ;
//splice可以指定位置进行删除或增加
//三个参数:从哪一位开始,删除多少个(前两个参数是固定的,必须写),用什么来替换
//返回值是删除数据的集合
//let x=arr.splice(1,1);//(1)[22]

例如:

let arr = [11,22,33,44] ;
arr.splice(1,1)//从第一位开始,删除一个// [11,33,44] ;
//替换
arr.splice(1,1,2)//从第一位开始,删除一个,替换为2
// [11,2,33,44] ;
//不删除,只想添加
arr.splice(2,0,999)//从第二位开始,不删除,在22和33之间添加为999
// [11,2,999,33,44] ;

2)返回值(不常用:了解)
push与unshift
在这里插入图片描述
在这里插入图片描述
pop与shift一致
在这里插入图片描述
在这里插入图片描述
5)数组遍历操作
1…形参:item: 数据,index序号,arr原数组(一般不写)

2.item: 数据,index序号,arr原数组(一般不写)的顺序是固定的,形参的名字可以自定义

3.forEach通常与箭头函数结合,不考虑this指向

4.除了数组可以forEach之外, querySelectorAll获取的节点列表也可以直接.forEach

例如1:

let arr = [5,6,7,8];
//形参:item: 数据,index序号,arr原数组(一般不写)
arr.forEach(function(item,index,arr){
  console.log(item, index, arr);
});

在这里插入图片描述

例如2:对所有的li 进行遍历操作
在这里插入图片描述
例如3:获取数据,序号
在这里插入图片描述
在这里插入图片描述
例如4:加点击事件,获取每一项

 aLi.forEach(function(item,index){
      item.onclick = function(){
        alert(index);
      };
    });

在这里插入图片描述

例如5:点击获取 ,获取每一项li的内容

 let aLi = document.querySelectorAll("ul li");
  aLi.forEach(function(node){
      node.onclick = function(){
        alert(this.innerText);
      };
    });

在这里插入图片描述
例如6:通常forEach与箭头函数结合,不考虑this指向
在这里插入图片描述
6)其他的处理数组数据的遍历方法,不改变原数组
//filter的参数函数需要返回一个布尔值
在这里插入图片描述
在这里插入图片描述
//筛选出偶数组成新数组
//filter的参数函数需要返回一个布尔值

   //简写
    let arr = [1,2,3,4,5,6,7];
  let newArr = arr.filter(item=>!(item%2));
    console.log(newArr);

在这里插入图片描述
在这里插入图片描述

//map得到原数组每一项的平方,组成新数组

 let arr = [1,2,3,4,5,6,7];
    //得到原数组每一项的平方,组成新数组
    let newArr = arr.map(item=>item**3); // item**3  item的3次方
    console.log(newArr);

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值