八股文

95 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第33天,点击查看活动详情

箭头函数什么时候不能用?

1.没有arguments。如下会报错

const fn1=()=>{
console.log(arguments)
}
fn1(100,200)
复制代码

2.箭头函数this全部是父作用域的this.

const fn2=()=>{
console.log(this)//window
}
fn2.call({x:100})
复制代码

3.箭头函数的代码有时难以阅读

4.情况👇

image.png

此时this为指向window.所以无法获取this.

5.情况:原型和原型链中也不可以

image.png

6.情况,并不是指向btn,是指向window的。

image.png

7.vue生命周期与method中

请描述tcp三次握手和四次挥手

不要追求过多的细节哈哈哈哈哈哈哈

为什么会发生三次和四次握手和挥手?

握手:连接好

挥手:告别,断开

三次?先建立连接,确保双方都有收发消息的能力,在传输内容(如get请求),网络连接是tcp协议,传输内容是http协议。

三次握手----建立连接

c->s

s->c

c<-->s


四次挥手----断开连接

c->s 告诉它,没有再多的请求了,数据传输可能还在进行中,可以断

s->c,知道了。可能还会继续传输。等关完

s->c,我忙完了,断吗?

c->s接收,断吧。

http请求背后会有很多碎片的数据,整合成一个页面的结果。

px, % em rem vw/vh有什么区别?

px和%

px基本单位,绝对单位(其他的都是相对单位)

%相对于父元素的宽度比例。

em 和 rem

前者相对于当前元素的font-size

后者相对于html根元素的font-size

vw 屏幕宽度的1%,vh 屏幕高度的1%

vmin 两者的最小值,vmax两者的最大值。

手写new关键字

创建实例对象

let o = {}

构建实例o与类P的关系(使它们指向同一个原型对象)

o.__proto__=P.prototype.

改变o的this指向。例如:this.a = 1;变成o.a=1;

P.call(o,args)

最后return返回实例对象o;

ES6有哪些新特性?

比如新增了let const.let和const具有块级作用域,不存在变量提升。新增了箭头函数,巧妙的运用this。新增了promise解决回调地狱的问题。可以利用import export来实现导入导出。新增了【...arr】结构赋值。新增了class类的概念,类似于函数一种特殊的对象。

描述一下ES6中的class类

通过class关键字创建类,类名我们习惯首字母大写。

在类里有constructor构造函数,可以接受传递过来的参数,同时返回给实例对象。

在constructor中只要new生成实例后,this就会指向实例,实例就会自动调用这个函数。

也会有super继承父类扩展自己的方法,利用super调用父类的构造函数。且super要在使用this之前调用。