知识点碎片总结

instance of和type of的区别

共同点

常用来判断变量是否为空或者变量是什么类型的

区别

instance of是用来判断一个变量是否是某个对象的实例
a instance of b
type of是一元运算,放在一个运算数之前,运算数可以是任意类型
它的返回值是一个字符串,字符串表明运算数的类型,对于Array,Null这类只返回object

forEach和map的区别

共同点

都是循环遍历一个数组,方法里每次执行匿名函数都支持三个参数,item(当前每一项),index(索引值),arr(原数组)

区别

1.forEach() 方法不会返回执行结果,而是undefined。
也就是说,forEach()会修改原来的数组。而map()方法会得到一个新的数组并返回。

arr.forEach((value,key) => {
    return arr[key] = value * value;
})
let list = arr.map(value=>{
    return value * value; 
})  

2.forEach() 的执行速度小于map() 的执行速度
3.map因为返回数组所以可以链式操作,foreach不能;
4.map里可以用return ,而foreach里用return不起作用,foreach不能用break,会直接报错;

for of和for in的区别

for…in 循环主要是为了遍历对象而生,不适用于遍历数组
for…of 循环可以用来遍历数组、类数组对象,字符串、Set、Map 以及 Generator 对象

Call 和 apply,bind 的区别

共同点: 都可以实现函数内部this被我们指定
不同点: call/apply 会让函数执行的

call后面参数是依次逗号分隔传入
apply:一个参数数组,数组成员是依次传入
bind 不会执行前面的函数!返回值:新的函数 和原来那个函数长的一样,内部this已经被我们固定

undeclared 与 undefined 的区别

undefined :声明了变量,但是没有赋值。
undeclared:没有声明变量就直接使用。

var a;
//undefined
c;
//undeclared

获取DOM元素的方法

注:document可以换成dom节点,那么就是搜索范围就是dom节点的子节点内

方法描述返回类型
document.getElementById(id)通过id获取dom符合条件的dom对象
document.getElementsByTagName(tagName)通过标签名获取dom符合条件的所有dom对象组成的类数组
document.getElementsByClassName(class)通过class获取dom符合条件的所有dom对象组成的类数组
document.getElementsByName(name)通过标签的属性name获取dom符合条件的所有dom对象组成的类数组
document.querySelector(选择器)通过选择器获取dom符合条件的第一个dom对象
document.querySelectorAll(选择器)通过选择器获取dom符合条件的所有dom对象组成的类数组

操作DOM元素方法

方法描述
createElement创建一个标签节点
createTextNode创建一个文本节点
cloneNode(deep)复制一个节点,连同属性与值都复制,deep为true时,连同后代节点一起复制,不传或者传false,则只复制当前节点
createDocumentFragment创建一个文档碎片节点
appendChild追加子元素
insertBefore将元素插入前面
removeChild删除子元素
replaceChild替换子元素
getAttribute获取节点的属性
createAttribute创建属性
setAttribute设置节点属性
romoveAttribute删除节点属性
element.attributes将属性生成类数组对象

防抖和节流

防抖

频繁去触发一个事件,但是只触发最后一次。以最后一次为准

场景

1、电脑息屏时间,每动一次电脑又重新计算时间
2、input框变化频繁触发事件可加防抖
3、频繁点击按钮提交表单可加防抖

节流

频繁去触发一个事件,但是只能每隔一段时间触发一次

场景

1、滚动频繁请求列表可加节流
2、游戏里长按鼠标,但是动作都是每隔一段时间做一次

箭头函数和普通函数的区别

1、外形不同:箭头函数使用箭头定义,普通函数中没有。
2、 箭头函数全都是匿名函数:普通函数可以有匿名函数,也可以有具名函数
3、箭头函数不能用于构造函数:普通函数可以用于构造函数,以此创建对象实例。
4、箭头函数中 this 的指向不同:在普通函数中,this 总是指向调用它的对象,如果用作构造函数,它指向创建的对象实例。
5、箭头函数不具有 arguments 对象:每一个普通函数调用后都具有一个arguments 对象,用来存储实际传递的参数。但是箭头函数并没有此对象。
6、其他区别:箭头函数不具有 prototype 原型对象。箭头函数不具有 super。箭头函数不具有 new.target

生活片段

八里沟

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

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值