js前端面试题03

1,内存泄露的排除定位和解决方法

答:内存泄漏就是有资源未被内存池回收,释放出来占用内存,表现为程序卡死或者浏览器卡死状态;通过谷歌浏览器的performance来监测;

内存泄漏的几个方式:全局变量的声明,未带var关键字的,可在js文件中用use strict;定时器的应用,未有结束定时器的操作,导致一直执行定时器任务;闭包中无用的方法执行,不能被回收,就一直占用内存。

2,websocket实现原理

答:websocket是建立一个客户端和服务端双向通信的桥梁。服务器端接收到信息之后,主动的去通知客户端进行接收,做对应的逻辑判断显示。

3,从输入一个url到浏览器页面展示都经历了哪些过程

答:首先是输入URL地址,浏览器拿到地址以后就去进行解析,解析之前先看缓存中有没有访问记录,有的话就直接打开,反之浏览器就进行DNS解析,获取对应的IP,然后就向服务器进行三次握手,成功之后服务器收到请求返回对应的数据包,返回给浏览器,浏览器就来进行解析渲染,最终就显示出来。

4,new生成了一个对象的过程(核心return this)

答:构造函数的new关键字,new一个对象函数,其实就是js的继承函数,继承了原函数的属性和方法,从而在内存中分配了一个实例对象,this就是指当前构造函数。

5,请简单说明什么是事件冒泡和事件捕获以及事件委托

答:事件捕获是从上一级标签开始到最终目标事件目标;事件冒泡是从事件目标冒泡到最父级的查找;事件委托利用了事件冒泡,只指定一个事件处理程序,就可以管理一个类型的所以事件,比如给li添加事件,可以不用循环,直接查找对应的li来添加一个事件就能完成。

6,请简述一下js原型链

答:每个对象都有一个原型prototype,对象的原型指向原型对象。在层级多的关系中,多个原型层层相连则构成了原型链,像链条一样连接起来,在查找一个对象的属性的时候,会沿着原型链一直往上查找,一直到最顶端。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值