前端面试基础题

本文涵盖了前端面试中常见的基础题目,包括rem单位、JavaScript精度问题、axios使用、JS的BOM和DOM区别、React事件绑定、TCP三次握手、类组件与函数组件对比以及ES6特性解析。通过对这些知识点的深入理解,可以提升前端开发者的面试准备。
摘要由CSDN通过智能技术生成

一、rem介绍

 

rem是什么?

它的全称是 font size of the root element (根元素的字体大小)

它是CSS3中新增加的一个尺寸(度量)单位,根节点(html)的font-size决定了rem的尺寸,也就是说它是一个相对单位,相对于(html)。

浏览器的默认字体?浏览器的默认的font-size是16px,1rem默认就等于16px。(chrome最小字体为12px)

rem可以做什么及它的应用场景?

用来做web app的屏幕适配,因为不同手机型号的屏幕大小都不同,所以这时候我们就不能用px来做单位,rem是适配不同手机屏幕的一种方案。

设置的font-size来改变rem尺寸

将根元素html的font-size设置为20px,此时box的宽高都为20px,也就是1rem = 20px

 

单位出现小数怎么处理

浏览器在处理小数像素的时候并不是直接舍入处理的,元素依旧占据着应有的空间,只是在计算元素尺寸的时候做了舍入处理

也就是说如果一个元素尺寸是 0.625px,那么其渲染尺寸应该是 1px,空出的 0.375px 空间由其临近的元素

 

二、javascript精度问题

JavaScript 中的数字按照 IEEE 754 的标准,使用 64 位双精度浮点型来表示。

例如0.1      双精度中有52位的尾数位,主要问题在于0.1转为二进制为0.000110011001100.....无限循环,然后用双精度表示尾数部分为100110011001...   ,最后四位是1001,然后规则是超过52位之后 进1舍去 就变成了1010 转换为十进制 偏大了。

 

三、axios的用途

1、axios的特点有哪些?

一、Axios 是一个基于 promise 的 HTTP 库,支持promise所有的API

二、它可以拦截请求和响应

三、它可以转换请求数据和响应数据,并对响应回来的内容自动转换成 JSON类型的数据

四、安全性更高,客户端支持防御 XSRF

2、axios有哪些常用方法?

一、axios.get(url[, config]) //get请求用于列表和信息查询

二、axios.delete(url[, config]) //删除

三、axios.post(url[, data[, config]]) //post请求用于信息的添加

四、axios.put(url[, data[, config]]) //更新操作

3、说下你了解的axios相关配置属性?

url是用于请求的服务器URL

method是创建请求时使用的方法,默认是get

baseURL将自动加在url前面,除非url是一个绝对URL。它可以通过设置一个baseURL便于为axios实例的方法传递相对URL

transformRequest允许在向服务器发送前,修改请求数据,只能用在'PUT','POST'和'PATCH'这几个请求方法

headers是即将被发送的自定义请求头

headers:{'X-Requested-With':'XMLHttpRequest'},

params是即将与请求一起发送的URL参数,必须是一个无格式对象(plainobject)或URLSearchParams对象

 

四、js中BOM和DOM的区别于联系

什么是BOM?

BOM是browser object model的缩写,简称浏览器对象模型。是用来获取或设置浏览器的属性、行为,例如:新建窗口、获取屏幕分辨率、浏览器版本号等。 比如 alert();弹出一个窗口,这属于BOM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值