面试题汇总

1、原生js给button绑定多个点击事件

var btn = document.getElementById("btn");
btn.addEventListener("click",function(){
   console.log('第一个事件') 
})
btn.addEventListener("click",function(){
   console.log('第二个事件') 
})

2、null和undefined的区别

null类型代表空值,代表一个空对象指针,使用typeof运算得到object,所以可以认为它是一个特殊的对象值;

undefined类型,当声明了一个变量未初始化时,得到的就是undefined;undefined是访问一个未初始化的变量时返回的值,而null时访问一个未存在的对象时返回的值。因此,可以把undefined看作是空的变量,而null看作是空的对象。

3、http和https的区别

http超文本传输协议是互联网上应用最广泛的一种协议。https是以安全为目标的http通道,是http的安全版。https需要到CA申请证书。http信息是明文传输,https则是具有安全性的ssl加密传输协议。

http和https使用的是完全不同的连接方式,用的端口也不一样,前者的端口是80,后者的端口是443。

http的连接很简单,是无状态的。Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。

4、cookies、sessionStroage、localStroage的区别

如果不在浏览器中设置过期时间,cookie被保存在内存中,生命周期随浏览器的关闭而结束,这种cookie简称会话cookie。如果在浏览器中设置了cookie的过期时间,cookie被保存在硬盘中,关闭浏览器后,cookie数据仍然存在,直到过期时间结束才消失。单个cookie保存的数据不能超过4kb。

在HTML5中,重新提供了一种在客户端本地保存数据的功能,它就是Web Storage。Web Storage又分为两种:

sessionStorage:将数据保存在session对象中。所谓session,是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。session对象可以用来保存在这段时间内所要求保存的任何数据。

localStorage:将数据保存在客户端本地的硬件设备(通常指硬盘,也可以是其他硬件设备)中,即使浏览器被关闭了,该数据仍然存在,下次打开浏览器访问网站时仍然可以继续使用。

5、px和rem、em的区别

px实际上就是css中定义的像素,利用px设置字体大小及元素宽高等比较稳定和精确。

em表示相对尺寸,其相对于当前对象内文本的font-size。

rem也表示相对尺寸,其参考对象为根元素<html>的font-size,因此只需要确定这一个font-size。

6、常见浏览器内核

7、mvvm和mvc的理解

8、什么是闭包,怎么使用闭包

9、js事件冒泡和js事件代理

10、为什么虚拟dom会提升性能

 

posted @ 2019-09-16 23:06  朝思暮想的虫  阅读(190)  评论(0编辑  收藏  举报