当前位置: 首页 > 后端技术 > Node.js

前端面试题

时间:2023-04-03 17:17:05 Node.js

前端面试题总结,持续更新cookiessessionStorage和localstorage区分浏览器缓存机制,提供了一种在客户端存储用户数据的方式,并使用cookies、session等进行交互服务器。相同点:都存储在客户端不同点:WebStorage的优点:(1)更大的存储空间:cookie大小为4KB,而WebStorage为5MB;(2)节省网络流量:WebStorage不会传输到服务端,存储在本地,数据可以直接获取,不会像cookie一样发送到服务端,减少了客户端和服务端的交互,节省了网络流量;(3)对于用户期间只需要浏览一组页面的用户,SessionStorage会非常方便的保存关闭浏览器后可以丢弃的数据;(4)快速展示:部分数据存储在WebStorage上,加上浏览器自身的缓存。获取数据时,可以从本地获取,无需从服务器获取,速度更快;(5)安全性:WebStorage不会将HTTPheader发送到服务器,所以相对于cookies安全性比较高一些,不用担心拦截,但是还是存在伪造问题;(6)WebStorage提供了一些方法,数据操作比cookies更方便;setItem(key,value)——保存数据,以键值对的形式存储信息。getItem(key)——获取数据,传入key值,即可获取对应的值。removeItem(key)——删除单个item,根据key值移除对应的信息。clear()——删除所有数据key(index)——获取某个索引的key数组去重//新建一个数组,遍历传入的数组,如果value不在新数组中,则将value压入新数组新数组函数uniq(arr){varnewArr=[];对于(vari=0;i{让newA=[];arr.forEach(item=>{if(newA.indexOf(item)==-1){newA.push(item)}})returnnewA;}console.log(unique(arr))//["1","2","3",1,NaN,NaN,undefined,null,"a","b"]//方法三:将数组的值加到只有一个对象的属性名上,赋值一个value给属性,对象不能添加相同的属性名,基于此,可以实现去重,然后使用objec.keys(obj)返回一个由变化对象的可枚举属性组成的数组,即数组去重后。vararr=['1','2','3',1,NaN,NaN,undefined,undefined,null,null,'a','b','b'];varunique=arr=>{varobj={};arr.forEach(item=>{obj[item]=0;})returnObject.keys(obj);}console.log(unique(arr))//["1","2","3",“NaN”、“未定义”、“空”、“a”、“b”]13。翻转字符串:leta="99151512";console.log([...a])//["9","9","1","5","1","5","1","2"]string的解构赋值letb=[...a].reverse().join("")console.log(b)//21515199第三个变化(vue文章)