前端面试题
面试题积累
1.自我介绍:
略...
2.说一下盒模型,还问到了IE盒子与标准盒子的区别
margin外边距 border边框 padding内边距 content内容
IE盒子与标准盒子的区别:IE盒子的content包括border和padding
3.移动端响应式布局你会哪些?
-
百分比布局100%
-
rem布局16px=1rem
-
视口布局vw/vh
-
媒体查询@media screen and (max-width: 1024px)
4.写代码:鼠标经过一个div(有阴影),3s后div变成圆形
.box {
border-style: solid;
border-width: 1px;
display: block;
width: 100px;
height: 100px;
background-color: #0000FF;
}
.box:hover {
background-color: #FFCCCC;
border-radius: 50%;
transition:border-radius 3s, background-color 3s, transform 3s;
}
5.构造函数与普通函数的区别?
-
构造函数:用函数来初始化的一个新建的对象,我们称之为构造函数
-
普通函数:不适用new运算符的函数就是普通函数
两者的区别:
-
构造函数使用new关键字调用;普通函数不用new关键字调用
-
构造函数内部可以使用关键字this;普通函数内部不建议使用this,因为this指向的是window全局对象,这样无意间就会为window添加一些全局变量或函数
-
构造函数默认不用return返回值;普通函数一般都有return返回值
-
构造函数首字母建议大写;普通函数首字母建议小写;
6.http的理解
- 超文本传输协议的缩写(Hyper Text Transfer Protocol),超文本不仅仅是文本,还包括HTML,图片等。
- HTTP协议工作于客户端-服务器端架构上。浏览器作为HTTP客户端通多URL向HTTP服务端即web服务器发送所有请求。web服务器根据接受到的请求后,向客户端发送响应信息。
- 主要特点:简单快速、灵活、无连接、无状态、支持B/S及C/S模式(浏览器/服务器和客户端/服务器)
- 请求的常用方法有get、head、post
- 一个url:协议+域名+端口+虚拟目录+文件名+锚部分+参数
- 请求报文:请求报文由请求行、请求头部、空行和请求数据四个部分组成。
- 响应报文:响应报文包括:状态行、消息报头、空行和相应正文
- HTTP方法:get、post、head、options、put、delete、teace、connect
- 状态码:1XX表示信息,2XX表示成功,3XX表示重定向,4XX表示客户端错误,5XX表示服务器错误
7.写代码:遍历一个数组记录所有字符重复出现的次数,以及所有重复字符出现的索引值,不重复的也需要记录
// 遍历一个数组记录所有字符重复出现的次数,
// 以及所有重复字符出现的索引值,
// 不重复的也需要记录
const numbers=[1,2,3,2,4,6,8,9,3,5,9,9,9];//原始数组
let index=0;//声明一个下标
let indexs=[];//声明一个对象
for (let i=0; i<numbers.length; i++){
let sum=1;
for (let j=0; j<numbers.length; j++) {
if (numbers[i]==numbers[j]&&i!=j){
sum+=1;
// console.log(index+"出现相同的值,值为"+numbers[i]+"重复次数"+sum)
}
}
if (sum>0){
indexs[index]={index:index,count:sum}
}
index++;
}
// console.log("======分割线========")
console.log(indexs)
代码成就万世基积沙镇海
梦想永在凌云意意气风发