js 基础知识回顾

使用框架的优点:

1、数据和视图的分离,解耦(开放封闭原则)

2、以数据驱动视图,只关心数据变化,DOM 操作被封装

 

什么是闭包:

“闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。”
举例:创建闭包最常见方式,就是在一个函数内部创建另一个函数。下面例子中的 closure 就是一个闭包, function func(){ 
vara =1 ,b = 2; funciton closure(){ return a+b; } return closure; }

 

js 浅拷贝、深拷贝:

简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝;如果B没变,那就是深拷贝。

深拷贝:JSON.parse(JSON.stringify(obj));  lodash函数库 _.cloneDeep();

https://www.jianshu.com/p/1c142ec2ca45

 

原生 ajax 请求过程:

1、创建 ajax 异步对象

2、设置回调函数

3、使用 open 方法与服务器建立连接

4、向服务器发送数据

5、再回调函数中进行相应处理

 

 

数组去重:

set 对象:是值得集合,元素只会出现一次。Array.from(new Set(arr))

indexof():返回 -1 说明不存在于数组,则插入

includes():返回 false,则插入



 

Class和普通构造函数有何区别

class在语法上更贴近面向对象的写法;class实现继承更加易读易理解;本质还是语法糖,使用prototype

  1. 类的形式
    • 可以在Class内部同时定义普通对象的属性方法,定义构造函数对象上面的方法,定义原型对象上面的方法属性
    • 值得注意的是通过静态关键字只能在构造函数对象上面添加方法,也就是说只能定义静态的方法,不能定义静态的属性
  2. 构造函数的形式
    • 在构造函数内部只能定义普通对象上面的方法和属性
    • 静态方法也就是构造函数对象上面的方法,只能通过显式的追加
    • 原型对象上面的方法和属性也需要显式的追加

 

ES6其他常用功能

https://es6.ruanyifeng.com/#docs/intro

 

 

 

 

Promise

 

 

什么是event-loop?

http://www.ruanyifeng.com/blog/2013/10/event_loop.html

 

 

 

source

https://blog.csdn.net/weixin_38516688/article/details/86645907

 

 

 

 

 

 

 

 

posted @ 2022-02-25 15:06  名字不好起啊  阅读(52)  评论(0编辑  收藏  举报