前端面试题

1、vue组件中为什么用data()函数,而不是data对象 

当时没有去留意过这个却别,问题的我也是一脸懵,当时想了一下为啥要那么做,然后说了一下自己的理由,面完之后百度了一下,回答的和百度到的意思差不对,只是我表达的不是很好。

2、什么情况下要用nextTick,nexttick的作用是什么,为什么要这样用。 

 为什么要这样用nextTick没有回答出来 

3、虚拟dom树中的结构是什么,然后说一下Diff算法

 VNode对象中的存的几个东西我是完全不记得了,只记得一个el,diff算法描述了一下,具体没有说清楚。

 4、怎么去适配移动端的屏幕大小,像素,还有一些什么忘记了,问了一下viewport 

5、继承,怎么实现继承,继承的参数传输。

设计到的即使自己对继承这一块的了解,考到组合继承,用create.Object()实现继承。 

6、instance Of函数,记得不是很清楚。

不知道继承的对象是否可以用instance Of判断。 

7、href ,onclick,addEventListener的点击后的一次打印的顺序,讲一下事件捕获和事件冒泡,事件委托的实现原理 

<a href="javascript:console.log(1)" ></a>

 var a=document.querySeletor("a"); 

var divNode=document.querySeletor("div") 

a.οnclick=function(){ console.log(2) } 

divNode.addEventListener("click",function(){ console.log(3) }) divNode.addEventListener("click",function(){ console.log(4) },true) a.addEventListener("click",function(){ console.log(5) })

8、promise和setTimeout打印顺序

 var promise=new Promise((res,rej)=>{ console.log(1); res(); console.log(2) }) promise.then(()=>{ console.log(3) }) console.log(4) setTimeout(function(){ console.log(5) },0) 他们打印的顺序: 回答的是:4,1,2,5,3 

9、实现一个物体抛物线效果的动画 

利用js实现的,css3动画不熟悉,继而引出了setInterval和requestAnimalFrame的区别。 requestAnimalFrame的实现原理不是很清楚。 

10、强缓存和协商缓存,cache-control中的no store和no cache的区别 

11、怎么组件实现一个v-model 

12、hashtable的实现 

13、快排的实现,快排的各种变形之后的时间复杂度 两道算法题都没啥问题,也是比较简单的两道题。 

14、web前端性能优化 

15、做一道编程题,实现一个函数防抖功能 

let throttle=(fn,wait)=>{

}
function doSometing(param){
console.log(param)
}
var throttleDoSometing=throttle(doSometing,2000)

for(let i=0;i<10;i++){
throttleDoSometing(i);
}
throttleDoSometing.flush() //立即执行

throttleDoSometing.pause() //暂停执行

throttleDoSometing.resume() //恢复之前的状态




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值