js面试题

本文涵盖JavaScript中的关键概念和技术,包括原型、继承、作用域、闭包、数据类型判断、Ajax、深拷贝与浅拷贝等内容,并探讨了函数式编程、事件模型、DOM操作等方面的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS

1、原型/原型链/构造函数/实例/继承
JavaScript中什么是构造函数?
js 函数对象/原型/原型链
原型、原型链、继承(构造函数继承,非构造函数继承)
2、有几种方式可以实现继承
关于构造函数、原型、原型链、多种方式继承
JS实现继承的几种方式
3、用原型实现继承有什么缺点,怎么解决
JS实现继承的几种方式
4、arguments
js中arguments详解
5、数据类型判断
js判断数据类型
6、作用域链、闭包、作用域
浅谈JavaScript闭包
JavaScript中作用域和作用域链的简单理解(变量提升)
7、Ajax的原生写法
原生Ajax写法
8、对象深拷贝、浅拷贝
js-浅拷贝和深拷贝
9、图片懒加载、预加载
原生JS实现图片懒加载
页面图片预加载与懒加载策略
10、实现页面加载进度条
原生JS实现加载进度条
11、this关键字
JS this指向总结
JavaScript之this关键字
12、函数式编程
函数式编程,真香
13、手动实现parseInt
14、为什么会有同源策略
浏览器同源策略是什么?没有同源策略会怎么样?
同源策略和跨域
15、怎么判断两个对象是否相等
JS判断两个对象内容是否相等
16、事件模型
事件委托、代理
JS中的事件委托/事件代理详解
事件代理(事件委托)
如何让事件先冒泡后捕获
17、window的onload事件和domcontentloaded
window.onload 和 DOMContentLoaded 的区别
18、for…in迭代和for…of有什么区别
for…in 与 for…of 的区别
for … of循环和for … in循环有何区别?
19、函数柯里化
详解JS函数柯里化
20、call apply区别,原生实现bind
call、apply、bind方法的使用及js原生实现(含this、arguments、rest、扩展运算符与结构赋值简单使用)
21、async/await
理解 async/await
22、立即执行函数和使用场景
什么是立即执行函数,它有什么作用?
23、设计模式(要求说出如何实现,应用,优缺点)/单例模式实现
js常用设计模式实现(一)单例模式
24、iframe的缺点有哪些
Web前端面试指导(八):iframe有那些缺点
25、数组问题
数组去重
数组常用方法
查找数组重复项
扁平化数组
按数组中各项和特定值差值排序
26、BOM属性对象方法
BOM属性对象方法
27、服务端渲染
需要服务端渲染(SSR)吗?
服务端渲染的探索与实践
28、垃圾回收机制
前端面试:谈谈 JS 垃圾回收机制
几种垃圾回收算法
29、eventloop
进程和线程
任务队列
javascript循环事件(Event Loop)
30、如何快速让字符串变成已千为精度的数字

ES6

1、声明 let、const
2、解构赋值
3、声明类与继承:class、extend
4、Promise的使用与实现
5、generator(异步编程、yield、next()、await 、async)
6、箭头函数this指向问题、拓展运算符
7、map和set有没有用过,如何实现一个数组去重,map数据结构有什么优点?
深入理解:ES6中的Set和Map数据结构,Map与其它数据结构的互相转换
8、ES6怎么编译成ES5,css-loader原理,过程
9、ES6转成ES5的常见例子
使用es5实现es6的class

浏览器

1、输入url到展示页面过程发生了什么?
从输入url到页面展示到底发生了什么
2、重绘与回流
重绘(repaint): 当元素样式的改变不影响布局时,浏览器将使用重绘对元素进行更新,此时由于只需要UI层面的重新像素绘制,因此 损耗较少
回流(reflow): 当元素的尺寸、结构或触发某些属性时,浏览器会重新渲染页面,称为回流。此时,浏览器需要重新经过计算,计算后还需要重新页面布局,因此是较重的操作。会触发回流的操作:

  • 页面初次渲染
  • 浏览器窗口大小改变
  • 元素尺寸、位置、内容发生改变
  • 元素字体大小变化
  • 添加或者删除可见的 dom 元素
  • 激活 CSS 伪类(例如::hover)
  • 查询某些属性或调用某些方法
  • clientWidth、clientHeight、clientTop、clientLeft
  • offsetWidth、offsetHeight、offsetTop、offsetLeft
  • scrollWidth、scrollHeight、scrollTop、scrollLeft
  • getComputedStyle()
  • getBoundingClientRect()
  • scrollTo()
    回流必定触发重绘,重绘不一定触发回流。重绘的开销较小,回流的代价较高。
    3、防抖与节流
    4、cookies、session、sessionStorage、localStorage
    Cookie、session和localStorage、以及sessionStorage之间的区别
    5、浏览器内核
    6.http状态码

vue部分

Object.defineProperty()
vue中MVVM原理及其实现
MVVM框架理解及其原理实现
Vue面试中,经常会被问到的面试题/知识点(2019改进版)
2019前端面试题汇总(主要为Vue)
百度阿里网易大疆等大小厂前端校招面筋 | 掘金技术征文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值