数据库索引高频面试题怎么做,ES6常用知识点梳理,前端内存优化方案

本文介绍了JavaScriptES6中的关键数组方法如Array.from(),Array.of(),copyWithin(),find(),findIndex()等,以及对象的特性如函数参数默认值、箭头函数、rest运算符和对象操作工具如object.assign()。还讨论了类(class)和对象的继承,以及如何通过《2024年Web前端开发全套学习资料》进行系统学习。
摘要由CSDN通过智能技术生成

数组

================================================================

Array . from()

方法用于将两类对象转为真正的数组:类似数组的对象和可遍历的对象

类数组有两类arguments ,通过获取元素得到的类数组.本质特征只有一点, 即必须有Length属性,和下标

Array . of()

用于将一组值, 转换为数组。

copyWithin()

在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组

Array. prototype . copyWithin(target, start = 0, end = this.length)

target (必需) :从该位置开始替换数据。如果为负值,表示倒数。

start (可选) :从该位置开始读取数据,默认为0。如果为负值,表示从末尾开始计算。

end (可选) :到该位置前停止读取数据,默认等于数组长度。如果为负值,表示从末尾开始计算。

find() 和findIndex()

find(回调函数) 返回的是一个符合条件的值没有 符合条件undefined

findIndex(回调函数) 返回的是一个符合条件的下标没有符合 条件返回-1

fill()

fill(替换的内容) 全部替换

fill(替换的内容,开始位置)

fill(替换的内容,开始位置,结束位置)

includes()

查看是否有这个数据,返回true,false

flat()

数组的成员有时还是数组,用于将嵌套的数组"拉平”,变成- -维的数组。该方法返回一个新数组,对原数据没有影响

在这里插入图片描述

函数

================================================================

函数参数默认值

function(a=1, b=2){

}

length

指定了默认值以后,函数的Length属性,将返回没有指定默认值的参数个数。

也就是说,指定了默认值后,Length属性将失真。

name属性

函数的name属性,返回该函数的函数名。

这个属性早就被浏览器广泛支持,但是直到ES6, 才将其写入了标准

箭头函数

(1) 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。

(2) 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

(3) 不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用rest参数代替。

(4) 不可以使用yield命令,因此箭头函数不能用作Generator 函数。

【如果这里面是一个参数括号可以不写,没有参数,或者多个参数必须加()

如果这个函数体里面只有一句话,可以不用加{} return 省略 】

rest运算符 【…】

=========================================================================

又叫 ... 运算符,剩余参数运算符,扩展运算符

1、把非数组变成数组

2、把数组变成一堆数据

3、复制数组 【深拷贝】

4、合并数组

5、配合解构赋值

6、对象中使用

let{x,y,…z}={x:1,y:2,a:3,b:4};

7、复制对象

let o2={b:2};

let{…03}=o2;

8、合并对象

//复制数组 【深拷贝】

在这里插入图片描述

//合并数组

在这里插入图片描述

//配合解构赋值

在这里插入图片描述

对象

================================================================

ES6允许在大括号里面,直接写入变量和函数,作为对象的属性和方法

0bject . assign()对象合并

重名的属性,后面的覆盖前面的

object.assign()拷贝的属性是有限制的,只拷贝源对象的自身属性(不拷贝继承属性),也不拷贝不可枚举的属性(enumerable:false)

0bject. assign()可以用来处理数组,但是会把数组视为对象。

0bject . is()

判断两个东西是否相等

class

===================================================================

class的写法

class类名{

}

继承

class 子类 extends父类 {

constructor() {

super() ;

}

}

实例属性的新写法

class 类名 {

属性=xxx;

}

静态方法

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

css源码pdf

JavaScript知识点

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

[外链图片转存中…(img-fvDAp04i-1712322224477)]

[外链图片转存中…(img-neBi0s8w-1712322224477)]

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值