前端面试题合计

120 阅读4分钟

一、css3新增的特性

css三新增的许多属性,比如:

1、border-color:为边框设置多种颜色

p
  {
  border-style:solid;  
  border-color:#ff0000 #0000ff;
  }

border-width单独使用是没有效果的,首先设置border-style

2、border-radius:圆角边框

p
  {
  border: 1px solid;  
  border-radius: 50%;
  }

3、box-shadow:盒子阴影

div
{

 box-shadow:  10px 10px 5px #888888;

}

4、transform变换效果

5、animation动画效果

6、transition过渡效果

三、git核心概念

git add. 从工作区到暂存区

git commit -m "第一次提交的备注" 从暂存区到本地仓库

git push 从本地仓库提交到远程仓库

*二、git分支相关操作

查看本地分支

$ git branch

查看远程分支

$ git branch -r

查看本地、服务器所有分支

$ git branch -a

切换到指定分支

$ git checkout 分支名字

合并分支,将名称为[name]的分支与当前分支合并

$ git merge [name]

删除远程分支

$ git push origin --delete [branch name]

删除本地分支

$ git branch -d [branch name]

四、标准盒模型与怪异盒模型的区别

1、标准盒模型:

一个盒子的总宽度= width + padding(左右) + border(左右)+ margin(左右)

image.png

2、怪异盒模型:

一个盒子的总宽度= width + margin(左右)(即width已经包含了padding和border值) 使用box-sizing = border-box

image.png

五、对event loop的理解

所有同步任务都在主线程上执行,形成一个执行栈(execution context stack)。 主线程之外,还存在一个”任务队列”(task queue)。只要异步任务有了运行结果,就在”任务队列”之中放置一个事件。 一旦”执行栈”中的所有同步任务执行完毕,系统就会读取”任务队列”。进入执行栈,开始执行,主线程不断重复读取,这个过程是循环不断的,所以整个的这种运行机制又称为 Event Loop(事件循环)。

六、数组的方法有哪些?

  1. push() 在数组的末尾位置添加元素
  2. pop() 在数组的最后一个位置删除元素
  3. unshift() 在数组的第一个位置添加元素
  4. shift() 在数组的第一个位置删除元素
  5. forEach() 遍历数组
  6. filter() 过滤方法
  7. every() 全部满足返回true
  8. some() 存在满足返回true

七、扩展运算符和rest剩余参数?

扩展运算符:用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中。该运算符主要用于函数调用。 rest剩余参数:arguments对象,可以拿到全部实参。现在ES6给我们带来了一个新的对象,可以拿到除开始参数外的参数,即剩余参数,只是需要在前面加上三个点:…

八、es6新增的map和set?

Setes6新增的数据结构,类似于数组,没有重复的值

Set本身是一个构造函数,用来生成 Set 数据结构

Set的实例关于增删改查的方法:

  • add()
  • delete()
  • has()
  • clear()

Map类型是键值对的有序列表,而键和值都可以是任意类型

Map本身是一个构造函数,用来生成 Map 数据结构

Map 结构的实例针对增删改查有以下属性和操作方法:

  • size 属性
  • set()
  • get()
  • has()
  • delete()
  • clear()

九、说一下对promise的理解?

promise 是 es6 提供的一种异步解决方案,从之前的嵌套回调函数 变成了链式的写法、

promise 可以解决回调地狱的问题,回调地狱就是拿到 a 接口的数据后才能根据 a 返回的数据请求 b 接口,这就是回调地狱

promise ⼀共有三个状态,分别是进⾏中,成功或者失败 成功resolve⽅法将正确结果返回出去,通过.then 的⽅式进⾏接受,失败reject 的⽅式将失败的结果返回出去,通过.catch 的⽅式进⾏接受,pending 状态是进⾏中,⼀旦进⾏之后,状态是不可逆的

promise 还给我们提供了.all 和 race, all⽅法的作⽤是将多个请求合并成⼀个请求, ⽐如当⾸⻚ 要请求 10 个接⼝,我们可以 promise.all 进⾏合并,.race 的作⽤也可以将多个请求合并成⼀个请求,不过 是谁先请求成功就先返回谁.

十、说一下es6的导入和导出如何使用?

es6如何导出

1,先定义后导出 :

2,直接导出

3,导出函数

4,导出类

5, export default

es6如何导入

1,导入定义的变量和方法

2,直接导入export定义的变量

3.导入export的function/class 无需再加{},因为导入的只有一个

4,导入export default中的内容

5,统一全部导入