前端面试题

面试题积累

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)

posted @ 2022-01-10 18:48  侠客小飞  阅读(41)  评论(0编辑  收藏  举报