常见前端面试题
1.HTTP以及HTTPS有关内容
1.1HTTP常见的状态码(全面)
①100开头
②200开头
③300开头
④400开头
⑤500开头
1.2HTTPS与HTTP的四大主要区别
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
2.call()、apply()以及bind()的区别
<script>
//apply()的使用
function sum(num1,num2) {
return num1 + num2
};
function sum1(num1,num2) {
//传参一:arguments对象
return sum.apply(this,arguments)
};
function sum2(num1,num2) {
console.log(arguments)
//传参一:传入数组
return sum.apply(this,[num1,num2])
};
console.log(sum1(10,20,30));
console.log(sum2(10,20));
// call()方法
function sum3(num1,num2) {
return sum.call(this,num1,num2)
};
console.log(sum3(10,30))
</script>
2.1 相同点
① apply()和call()传递参数时,第一个参数都是this
② 都可以改变this指向(无参数传递时this指向window)
③ 都可以被调用
2.2不同点
① 传递参数的方式不同(call()等数量的传递,其他可用arguments)
② 改变this的时机不同
③ 传递参数时机不一样
详情:this指向问题
3.1px 、1em、1vh/1vw和1rem的意义?
单位 | 描述 |
---|---|
1px | 相对长度单位。像素px是相对于显示器屏幕分辨率而言的 |
1rem | rem是全部的长度都相对于根元素元素。通常做法是给html元素设置一个字体大小,然后其他元素的长度单位就为rem。 |
1vw/1vh | 全称是 Viewport Width 和 Viewport Height,视窗的宽度和高度,相当于 屏幕宽度和高度的 1%,不过,处理宽度的时候%单位更合适,处理高度的 话 vh 单位更好。 |
1em | 子元素字体大小的em是相对于父元素字体大小 |
4.什么是微任务和宏任务?
详情:微任务和宏任务