这套面试题内容十分常见,可以作为自测题。
题目列表
1. JavaScript 的数据类型有哪些?
共7种数据类型分别为——
6种基本类型 String、Number、 Boolean、 Undefined、Null、Symbol
1种引用类型 Object
2. 什么是同源策略?
同源策略是浏览器的安全策略。如果两个页面的协议、端口和域名都相同,则这两个页面属于同源。
3. 跨域的方法有哪些?
常见跨域的方法有:CORS、JSONP、配置代理服务器、图像Ping等。
4. 如何判断数组中是否存在 NaN?
使用 includes 方法。
5. 请解释什么是变量提升?
变量提升是指:变量和函数的声明表现得移动到作用域的顶部。所以可以实现在声明一个函数之前使用该函数。
6. 如何实现反转字符串?
7. 不使用 Math.sort 等高级方法,写出一个数组排序?
需要熟悉简单的冒泡排序、快排等写法。
8. 写出一个函数,如何求 1000 以内的质数?
略。
9. Vue 中的双向绑定是如何实现的?
vue2.x使用Object.defineProperty();
vue3.x使用Proxy;
10. 请简述订阅者-发布者模式的原理和伪代码的实现?
略。
11. 什么是媒体查询,具体应用场景有哪些?
媒体查询是判断当前属于哪种设备,配置不同的 CSS 样式。常用于响应式页面设计。
12. JavaScript 中的参数传递是按值传递还是按引用传递?
按值传递。
13. 函数的 arguments 是属于数组吗?
不是,是类数组对象。
14. 如何实现防抖与节流?
略。
15. 简述两种 css 盒模型的区别?
分为标准盒模型和IE模型:
标准盒模型:width 表示 content 的宽度。
IE模型::width 表示 content + padding + border这三个部分的宽度。
16. 网页性能优化的办法有哪些?
代码压缩,CDN、图片优化、雪碧图、webp、按需引入按需加载、减少网页回流和重绘等。
17. cookie session localStorage SessionStorage 的区别?
略。
18. 从业以来你遇到过的最有挑战性问题是什么?你是如何解决的?
略。
结语
部分题目不是片言只语能回答上来,后续会将会一一解答,感兴趣请转发收藏关注。