当前位置: 首页 > Web前端 > CSS

那些年,记录下最近遇到的面试题

时间:2023-03-30 22:06:51 CSS

js篇介绍Array的API/方法,具体到返回值和参数join/slice/splice/sort/pushclass/reverse经验总结:说说可以扩展的API,拓展话题;能够记住不同API的返回值,比如reverse返回的是数组吗?pop的返回值是多少?Array的map和forEach的区别?辅助解释可以通过代码实现。不同的是map返回的是一个新数组,而forEach修改的是原数组(允许修改原数组)。forEach适用于不需要改变数据的时候,比如打印存入数据库,而map适用于修改数据等操作,也可以结合filter和reduce引入事件绑定。元素上的事件绑定到父元素上,事件冒泡用于将子元素事件冒泡到父元素上进行处理。当同时绑定多个子元素时,可以通过e.target来区分如何检测对象是否存在某个属性使用in关键字,该方法会获取原型链上属性的hasOwnProperty方法。该方法只能判断自身属性,使用undefined来判断页面性能优化。减少Http请求的数量。异步加载js文件(动态创建scripts标签、async、defer)、async和defer区别浏览器缓存(强缓存、协商缓存)使用CDNDNS预解析预解析相关标签```linkrel="dns-prefetch"href="//somewhere.com">```编写以下程序输出varn=1;vara={n:10,fn:function(){varn=100;返回n+this.n;}}varfn=a.fn;console.log(a.fn());//110console.log(fn());//101console.log(a.fn.call(this));//101console.log(a.fn.call(a));//110写出程序输出vara={n:10,m:20};varb=a;varc=b;vard={...b};b.n=30;c={n:40};console.log(a.n);//30console.log(b);//{n:30,m:20}console.log(c);//{n:40}console.log(d);//{n:10,m:20}console.log(a===b);//trueconsole.log(a===d);//falseconsole.log(b===c);//falseconsole.log(a===c);//false如何获取一个页面所有元素图片的懒加载/预加载,同时有10000张图片怎么办?目前思路:用onscroll+scrollTop问一下:onscroll在什么情况下触发?相关链接ES5和ES6继承Web动画的几种常见方式有什么区别?几种常见的POST提交数据Content-Type如何定义调用视频帧生成预览图的方法?(可以考虑Canvas)什么是重放攻击,常见的防御方式有哪些?CSS文章介绍了position:sticky和fixed的区别定位类型:相对定位(relative),绝对定位(absolute,fixed),粘性定位(sticky)该属性还在实验阶段position:sticky(本段参考MDN)MDNposition-relatedcontentSticky定位可以认为是相对定位和固定定位的混合体。元素相对定位,直到超过某个阈值,然后固定。让我介绍一下Flex布局。Flex布局就是FlexibleBox,灵活的布局。目前主要的应用场景在移动端,也有一些PC端的场景。Flex可以很好的解决布局问题,有效的解决了之前垂直居中的难题。它可以简单、完整和响应式地实现各种布局。任何容器都可以设置为弹性布局。设置后,子元素的float、clear、vertical-align属性将失效。Reflow和Repaint简单介绍Reflow和Repaint,哪个会触发哪个?(触发顺序),哪些可以避免,哪些可以最小化但无法避免,哪些css操作会触发Reflow/RepaintFlexbyRuanYifengCSS3动画/CSS动画和js动画的区别?(性能差异?)/CSS性能优化/CSS动画性能优化/JS动画介绍会继续积累面试题~