前端面试题总结

29 篇文章 0 订阅
17 篇文章 0 订阅

目录

什么是异步?

h5新特性:

三种定位的区别

CSS3

es6新增数组方法 

1.foreach()

.map()

3.filter()

4.reduce()

5.some()

6.every()

总结

数组变异方法:

 数组非变异方法:

Vue-Router路由钩子函数(导航守卫)

全局守卫

RESTful风格接口


什么是异步?

同步是一件事一件事的执行。只有前一个任务执行完毕,才能执行后一个任务。一般是等同步任务执行完毕再执行异步。

解决异步:回调和promise

promise:

h5新特性:

  • sessionStorage(会话存储)和locaStorage(永久存储)
  • HTML5新增的语义化标签主要有:<article>、<section>、<nav>、<aside>、<header>、<footer>、<time>等等...
  • 音频 ,视频(audio, video) 

三种定位的区别

  • 相对定位:相对于自己

  • 绝对定位:相对于父亲

  • 固定定位:相对于浏览器窗口

CSS3

  • CSS3 圆角border-radius - 指定每个圆角

  • 文本阴影(text-shadow)和盒子阴影(box-shadow)
  • background-size 属性

  • CSS3 渐变(gradients)
  • 过渡
  • 动画
  • 媒体查询
    
    @media screen and (min-width: 480px) {
        body {
            background-color: lightgreen;
        }
    

  • push

  • pop 

  • unshift

  • shift

  • slice截取数组

  • splice剪接数组,向/从数组中添加/删除项目,然后返回被删除的项目,该方法会改变原始数组,索引从0开始

  • concat 合并两个或多个数组,得到新数组

  • indexOf 数组元素索引,并返回元素索引,不存在返回-1,索引从0开始

  • join 数组转字符串

  • reverse

es6新增数组方法 

1.foreach()

var arr = [1,2,3,4];

arr.foreach((item,index,arr)=>{

    console.log(item);  //结果为1,2,3,4

});

//foreach遍历数组,无返回值,不改变原数组,仅仅只是遍历,常用于注册组件、指令等等。

.map()

var arr = [1,2,3,4];

arr.map((item,index,arr)=>{

    return item*10;  //结果为10,20,30,40

});

//map遍历数组,返回一个新数组,不改变原数组

3.filter()

var arr = [1,2,3,4];

arr.filter((item,index,arr)=>{

   return item >2; //结果为[3,4]

});

//filter过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组

4.reduce()

var arr = [1,2,3,4];

arr.reduce((result,item,index,arr)=>{

  console.log(result);

  console.log(item);

  console.log(inddx);

  return result+item; 

});

//reduce让数组的前后两项进行某种计算,然后返回其值,并继续计算,不改变原数组,返回计算的最终结果,从数组的第二项开始遍历。
————————————————

5.some()

var arr = [1,2,3,4];

arr.some((item,index,arr)=>{

   return item > 2; //返回true

});

//遍历数组每一项,有一项返回true,则停止遍历,结果返回true。不改变原数组。

6.every()

var arr = [1,2,3,4];

arr.every((item,index,arr)=>{

   return item >1; //返回false

});

总结

  • 以上6个方法均为ES6语法,IE9及以上才支持。不过可以通过babel转意支持IE低版本。以上均不改变原数组。
  • some、every返回true、false。
  • map、filter返回一个新数组。
  • reduce让数组的前后两项进行某种计算,返回最终操作的结果。
  • forEach 无返回值。
     

数组变异方法:

  • push() //数组尾部追加一个元素
  • pop()  //数组尾部弹出一个元素
  • shift() //数组头部弹出一个元素
  • unshift() //数组头部插入一个元素
  • splice() //删除或替换某一个元素
  • sort() //按照特定的规则排序(数字根据从小到大排序,字符串根据unicode位点排序)
  • reverse() //反转数组
     

 数组非变异方法:

  • filter() //过滤数组中某些元素,返回符合条件的元素组成的新数组
  • concat() //合并两个或两个以上的数组,可以链式调用,返回合并后的数组 
  • slice() //切割数组中某一段元素,返回一个切割出来的数组
  • map() //使用map方法会产生一个新的数组,数组的每一项就是我们return出去的值(所以map方法必须有返回值,如果没有return,那么新数组的每一项都为undefined),数组的个数与原数组一样
  • some()   //会遍历数组中的每个元素,让每个值都执行一遍callback函数,如果有一个元素满足条件,返回true , 剩余的元素不会再执行检测。如果没有满足条件的元素,则返回false。
  • forEach() //遍历数组
  • every() //检测数组所有元素是否满足条件
     

Vue-Router路由钩子函数(导航守卫)

路由钩子函数有三种:
1:全局钩子: beforeEach、 afterEach
2:单个路由里面的钩子: beforeEnter、 beforeLeave
3:组件路由:beforeRouteEnter、 beforeRouteUpdate、 beforeRouteLeave

全局守卫

router.beforeEach() 进入之前触发

router.afterEach() 进入之后触发
每个守卫方法接收三个参数:

①to: Route: 即将要进入的目标路由对象(to是一个对象,是将要进入的路由对象,可以用to.path调用路由对象中的属性)

②from: Route: 当前导航正要离开的路由

③next: Function: 这是一个必须需要调用的方法,执行效果依赖 next 方法的调用参数。

RESTful风格接口

用请求的类型不同,来表示不同的操作

vue组件通信

js作用域let/var/const

http协议

状态码

生命周期

模块化

forEach

路由守卫、钩子函数、守卫函数

git的常用命令

css自定义属性

怎么理解权重

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值