前端原生javascript面试题

1. 什么是盒模型?

2. 如果要将左边div元素固定,右边随着页面的变化而变化怎么做?

3. flax布局

4. 如何让div中的内容上下居中

5. 前端框架用过那些?

  bootstrap,layui,layadmin,echarts,vue,angular

6. 前端页面的兼容性,你是怎么做的?

7. 怎么实现json跨域,如果使用jsonp跨域的时候,需要后端做什么配置么?

8. ES6中的 ... 是什么意思?

9. 说下你对promise的理解

10. 说一下nodejs有什么优势

11. vue中的生命周期函数有哪些?

12. 小程序中有哪些生命周期函数?

13. ES6中的let和const和js中的var有什么区别?

14. 怎么使用ES6中的展开运算符,将两个数组拼接在一起?

  var  arr1=[1,2,3];

  var  arr2=[4,5,6];

  var arr3 = [...arr1,...arr2];

  console.log(arr3);

15. 原生JS的的跨域方式有哪些?

16. 渐进增强和优雅降级的不同

  渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。

  优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。

  区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。 

  “优雅降级”观点

  “优雅降级”观点认为应该针对那些最高级、最完善的浏览器来设计网站。而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段,并把测试对象限定为主流浏览器(如 IE、Mozilla 等)的前一个版本。

  在这种设计范例下,旧版的浏览器被认为仅能提供“简陋却无妨 (poor, but passable)” 的浏览体验。你可以做一些小的调整来适应某个特定的浏览器。但由于它们并非我们所关注的焦点,因此除了修复较大的错误之外,其它的差异将被直接忽略。

  “渐进增强”观点

  “渐进增强”观点则认为应关注于内容本身。

  内容是我们建立网站的诱因。有的网站展示它,有的则收集它,有的寻求,有的操作,还有的网站甚至会包含以上的种种,但相同点是它们全都涉及到内容。这使得“渐进增强”成为一种更为合理的设计范例。这也是它立即被 Yahoo! 所采纳并用以构建其“分级式浏览器支持 (Graded Browser Support)”策略的原因所在。

  总结:

  1. 优雅降级指的是一开始就构建功能完好的网站,然后再慢慢兼容低版本的浏览器,使得各个浏览器之间的差异不要太大

  2. 渐进增强是指在基本功能得到满足的情况下,对支持新特性的浏览器使用新特性,带给用户更好的体验   

 

posted @ 2020-06-17 21:06  冉姑娘  阅读(700)  评论(0编辑  收藏  举报