2020年Web前端面试问题汇总(1)
1.写JavaScript有多少基本规范?
1)不要在同一行声明多个变量;
2)请使用= = =/!= =比较真/假或数值;
3)用宾语的字面量代替newObject的形式;
4)减少全局函数和全局变量的使用;
5)5)switch语句必须有一个默认分支;
6)if语句必须使用大括号;
7)for-in循环中的变量;
应该使用var关键字明确定义范围;
从而避免范围全球污染。
2.平衡二叉树呢?
自平衡二元搜索树
也被称为AVL树。
具有以下属性:
1)它是一棵空树或其左右子树。
高度差的绝对值不超过1,
左右子树都是平衡二叉树。
2)平衡二叉树一定是二叉查找树,反之亦然。
3)平衡二叉树常见的实现方法有红黑树、AVL、
替罪羊树,树,伸展树等。
最小二叉平衡树的节点公式如下:
f(n)= f(n-1)+f(n-2)+1备注:1为根节点。
F(n-1)是左子树中的节点数,
F(n-2)是右边子树中的节点数。
3.清除浮动,解决垂直外边距重叠的解决方案是什么?
问题描述:
1)不设置父元素的宽度和高度,大小由子元素支持;
一旦子元素浮动,父元素的高度就会折叠。
2)子元素设置边距顶部将作用于的父元素的边距顶部;
这将导致垂直外部边距重叠。
。clearfix::在,。clearfix::before{
内容:“”;
显示:表格;
明确:两者都有;
}
4 .会话存储、本地存储和cookie?
相似之处:
都用于浏览器端存储的缓存数据;
差异:
1)存储的内容是否发送到服务器。
设置Cookie后,数据将被发送到服务器。
造成一定的宽带浪费;Xxxstorage将保存数据
去当地不会造成宽带浪费;
2)不同的数据存储大小
Cookie数据不能超过4K,适合会话识别;
Xxxstorage数据存储量可达5M;
3)数据存储的有效期不同
cookie仅在设置了cookied过期时间时使用。
之前一直有效,即使关闭窗口或浏览器;
SessionStorage,仅在关闭浏览器前有效;
LocalStorage,数据存储永久有效;
4)不同的范围
Cookie和localStorage位于同一源和窗口中。
都是* * *享受的;
SessionStorage不在不同的浏览器窗口中。
享受在* * *,哪怕是同一个页面;
5.判断一个单词是否回文?
回文指的是将相同的单词或句子,
在下文中,位置被颠倒或颠倒,
创建一个头尾循环的场景,
这叫回文,也叫回文。
比如卡卡·雷迪维德
letcheckPalindrom =(str)= & gt;{
returnstr===
str.split(“”)。反转()。联接(“”);
}
6.不使用临时变量交换两个整数?
输入a=3,b=1,
输出a=1,b=3。
letswap=(a,b)= & gt;{
b = b-a;
a = a+b;
b = a-b;
return[a,b];
}
7.请用html5写至少五个新标签,并说明它们的语义和应用场景?
Section:定义文档中的一章;
Nav:定义一个只包含导航链接的章节;
页眉:定义页面或章节的页眉;
它通常包含徽标、页面标题和可导航的目录。
页脚:定义页面或章节的尾部;
它通常包含版权信息、法律信息链接和反馈建议的地址。
旁白:定义与页面内容相关性低的内容,
如果删了,剩下的还是合理的。
8.8.get和post请求在缓存上有什么区别?
get请求类似于查找过程,在查找过程中,用户获取数据,
您不必每次都连接到数据库,因此可以使用缓存。
岗位不一样。post一般做修改和删除的工作。
所以你要和数据库交互,所以不能用缓存。
所以get请求适合请求缓存。
9.异步回调地狱怎么解决?
承诺、生成器、异步/等待
10.图片的懒加载和预加载?
预加载:预先加载图片,
当用户需要查看它时,他们可以直接
从本地缓存渲染。
延迟加载:延迟加载的主要目的
作为服务器前端的优化,
减少请求数量或延迟请求数量。
两项技术的精髓:
他们的行为是相反的,
一种是提前加载,
一个是速度慢,甚至没有加载。
懒加载对服务器前端有一定的影响。
应力消除效果,
预加载会增加服务器前端的压力。
11.bind,apply,call有什么区别?
通过应用和调用改变函数的这个方向,
这两个函数的第一个参数是相同的,
指示要更改指向的对象,
第二个参数apply是一个数组。
并且调用的形式是arg1,arg2...
通过bind更改此的范围
将返回一个新函数,
此功能不会立即执行。
12.js如何控制一次加载一张图片,加载后再加载下一张?
方法1:
var obj = new image();
obj . src = " #/21 . jpg ";
obj.onload=function(){
document.getElementById("pic ")
。innnerHTML =
}
装货