js的十个知识点

1、箭头函数

箭头函数没有自己的this,只会在自己的作用域的上一层继承this,所以箭头函数的this指向在它定义的时候就已经确定了,之后不会改变,使用call、apply、bind等方法也不能改变,因为没有自己的this,所以不能作为构造函数使用

2、JSON

json是一种基于文本的轻量级的数据交换格式,可以被任何的编程语言读取和作为数据格式来传递。

JSON.stringify():在前端向后端发送数据时,可以调用这个函数将数据对象转化为JSON格式的字符串

JSON.parse():当从后端接收到JSON格式的字符串时,可以通过这个方法将其解析为一个js数据结构,以次来进行数据的访问

3、js延迟加载的方式

1、defer属性

2、async属性

3、动态创建DOM

4、使用setTimeout延迟

5、将js脚本放到文档的底部

4、this指向

函数调用:指向全局对象

方法调用:指向这个对象

构造器调用:指向新创建的对象

apply、call和bind:指向这三个方法指定的对象

5、异步编程

回调函数方式、promise函数方式、generator的方式、async函数方式

6、Promise

promise是异步编程的一种解决方案,它是一个对象,可以获取异步操作的消息,避免了回调地狱。

promise具有pending(进行中)、resolved(已成功)、rejected(已失败)三种状态,实例状态只能由pending转变为resolved或rejected,状态改变后就不会再变。状态的改变是通过resolve()和rejecte()函数来实现的,使用then方法可以为两个状态的改变注册回调函数

7、Promise.all和Promise.race

promise.all成功的时候返回的是一个结果数组,失败的时候返回的是最先被reject失败状态的值。

运用场景:当遇到发送多个请求并根据请求顺序获取和使用数据的场景

promise.race([p1,p2,p3])里面那个结果获得的快,就返回那个结果

运用场景:当要做一件事,超过多长时间就不做了

8、内存泄漏

指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况

造成内存泄漏:意外的全局变量、被遗忘的计时器或回调函数、脱离DOM的引用、闭包

9、垃圾回收

JavaScript代码运行时,需要分配内存空间来存储变量和值,当变量不再参与运行时,就需要系统收回被占用的空间,这就是垃圾回收

垃圾回收方式:标记清除、引用计数

减少垃圾回收:清空数组使用将数组长度设置为0;对象尽量不用,不再使用的对象,将其设置为null

10、浏览器内核

浏览器内核分为渲染引擎和JS引擎

渲染引擎:负责取得网页的内容,整理讯息,计算网页的显示方式

JS引擎:解析和执行JavaScript来实现网页的动态效果

IE:trident内核;火狐:gecko内核;Safari:webkit内核;Chrome:Blink;Opera:Blink内核

你可能感兴趣的:(javascript,开发语言,ecmascript)