javascriptES6+js高级
2021/10/16 20:09:50
本文主要是介绍javascriptES6+js高级,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.let和const命令
1.let
let声明变量,没有变量提升
let是一个块级作用域
let不能重复声明
2.const
const声明常量,一旦被声明,无法改变
2.set和map的理解
应用场景Set用于数据重组,Map用于数据储存
Set:
(1)成员不能重复
(2)只有键值没有键名,类似数组
(3)可以遍历,方法有add, delete,has
Map:
(1)本质上是健值对的集合,类似集合
(2)可以遍历,可以跟各种数据格式转换
3.深拷贝和浅拷贝
1.浅拷贝
什么是对象的浅拷贝?
将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用
简单的理解就是拷贝了对象的第一层属性,如果对象的某个属性还有第二层,第三层的数据,浅拷贝是访问不到的。比如说某个属性的值是对象,那浅拷贝无法复制该对象的数据。
浅拷贝怎么使用?
btn() { this.list.push( this.copy(this.stu) ) }, copy(obj) { let newObj = {} for(let i in obj) { console.log(obj[i]) newObj[i] = obj[i] } return newObj; }
2.深拷贝
什么是对象的深拷贝?
创建一个新的对象和数组,将原对象的各项属性的值拷贝过来,是“值”而不是“引用”
深拷贝怎么使用?
作者也不会
4.防抖
用户触发事件过于频繁,只要最后一次事件的操作
let t = null; inp.oninput = function(){ if(t !== null){ clearTimeout(t) } t = setTimeout(()=>{ console.log(this.value) },500) }
5.节流
用户触发事件过于频繁,控制执行次数
let flag = true window.onscroll = function() { if(flag) { setTimeout(() => { console.log(123) flag = true },500) } flag = false }
6.对闭包的理解
使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。
闭包有三个特性:
1.函数嵌套函数
2.函数内部可以引用外部的参数和变量
3.参数和变量不会被垃圾回收机制回收
7.原型与原型链
1.什么是原型?
每一个对象都有它的原型对象,它可以使用自己原型对象上的属性和方法
2.原型的获取方法
1.通过对象的__proto__获取
2.通过构造函数的prototype获取
3.原型链继承
让子类拥有父类的资源
8.什么是面向对象?
把任何的数据和行为抽象成一个形象的对象是面向对象。
面向对象主要有三大特性
继承:子级继承父级属性和方法
封装:封装一个方法function 放到一个对象里面去
多态:重载:根据传递参数的不同展现不同的形态,重写:子级继承父级属性和方法,感觉不好用,自己在进行重写。
这篇关于javascriptES6+js高级的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Java语音识别项目入门:新手必读指南
- 2024-11-25Java语音识别项目入门:轻松开始你的第一个语音识别项目
- 2024-11-25Java语音识别项目入门详解
- 2024-11-25Java语音识别项目教程:从零开始的详细指南
- 2024-11-25JAVA语音识别项目教程:初学者指南
- 2024-11-25Java语音识别项目教程:初学者指南
- 2024-11-25JAVA云原生入门:新手指南与基础教程
- 2024-11-25Java云原生入门:从零开始的全面指南
- 2024-11-25Java云原生入门:新手必读教程
- 2024-11-25JAVA云原生教程:新手入门及实战指南