TryCoding.FunTryCoding.Fun
JavaScript 基础
JavaScript 基础知识
浏览器原理
浏览器渲染和工作机制
HTML 基础
HTML 基础
CSS & 布局体系
CSS 样式和布局体系
网络与协议
网络协议和 HTTP
性能优化
前端性能优化
前端工程化
前端工程化概念
前端安全
前端安全知识
React
React 框架相关
Vue
Vue 框架相关
JavaScript 基础
JS 基础编程题
对象与数组
对象和数组操作
DOM 操作
DOM 操作相关
工具函数
常用工具函数
数据结构
数据结构实现
框架相关
框架源码实现
异步与并发
异步编程模式
字符串
字符串处理算法
数组 & 双指针
数组和双指针技巧
哈希表
哈希表应用
栈与队列
栈和队列操作
链表
链表操作
树 / 图 / DFS / BFS
树图遍历算法
动态规划(DP)
动态规划算法
模拟与逻辑题
模拟和逻辑题
搜索... ⌘K
  • 基础题
  • 代码题
  • 算法题
    • 手写实现bind方法
    • 手写实现 apply 方法
    • 实现 call、apply、bind
    • 实现 call、apply、bind
    • 手写实现 call 方法
    • 实现类的继承
    • 实现 compose 和 pipe 函数
    • 柯里化函数实现
    • 实现防抖和节流
    • 实现完整的深拷贝
    • 手写深拷贝
    • 实现深拷贝简洁版本
    • ES5 寄生组合式继承
    • ES5实现继承的多种方式详解
    • 实现ES6的const
    • 实现ES6的extends继承
    • ES6对迭代器的实现
    • instanceof 原理实现
    • 实现 getType 数据类型检测
    • 实现一个迭代器生成函数
    • 手写实现 instanceof 运算符
    • jQuery.extend 与 fn.extend 区别
    • 手写 new 操作符
    • 手写实现 new 操作符
    • 实现 Object.create
    • 实现Object.is
    • 实现 Promise
    • 实现Object.create
    • 实现 sleep 延迟函数
    • 实现Object.freeze
    • JavaScript 数组方法与技巧
    • 实现数组扁平化flat方法
    • 数组扁平化实现
    • 实现Array.isArray方法
    • 数组与JSON转化
    • 实现数组方法 map、filter、reduce、find、some、every
    • 类数组转化为数组的方法
    • 数组对象遍历方式
    • 数组零值移动末尾
    • 数组对象原生方法
    • 实现Array.of方法
    • 数组交集并集差集
    • 数组去重实现
    • 数组去重方法汇总
    • 手写实现 Array.prototype.every 方法
    • 手写实现Array.prototype.filter方法
    • 实现数组的 find 方法
    • 实现findIndex方法
    • 手写实现 Array.prototype.forEach 方法
    • 对象数组列表转成树形结构(处理菜单)
    • map 与 parseInt 执行结果
    • map 与 forEach 区别
    • 手写实现 Array.prototype.map 方法
    • 实现对象深比较 isEqual
    • 对象扁平化
    • 手写实现 Array.prototype.reduce 方法
    • 手写实现 Array.prototype.some 方法
    • slice 与 splice 区别
    • reduce用法汇总
    • 树形结构转成列表(处理菜单)
    • URL参数解析
    • Ajax 请求实现
    • 分片思想解决大数据量渲染问题
    • 自定义事件实现
    • 自定义事件
    • 实现 DOM2JSON:将 DOM 节点转换为 JSON 格式
    • 持续动画效果实现
    • 创建10个标签,点击时弹出对应的序号
    • Div 模拟 Textarea
    • 实现一个拖拽功能
    • 可拖拽元素实现
    • 事件委托实现
    • Dialog组件设计
    • 事件触发顺序
    • 事件触发条件
    • 获取页面所有复选框
    • GET 和 POST 请求
    • 点击图标边框变色
    • Hash 路由原理
    • 图片 URL 直接下载
    • 图片懒加载
    • 图片懒加载
    • 实现 JSONP 跨域请求
    • 大数据列表渲染优化
    • 无限滚动加载
    • 原生 Ajax 请求实现
    • onreadystatechange 事件
    • 视差滚动效果
    • 虚拟DOM转真实DOM
    • 将虚拟 Dom 转化为真实 Dom
    • XMLHttpRequest 五个步骤
    • 抽象工厂模式
    • Adapter Pattern
    • Adapter Pattern
    • 实现一个支持柯里化的 add 函数
    • 计算两个数组的交集
    • 数组中的数据根据key去重
    • 实现一个add方法完成两个大数相加
    • 大数相加
    • bind、call、apply 的区别与实现
    • Bridge Pattern
    • Builder Pattern
    • 实现一个管理本地缓存过期的函数
    • 缓存代理
    • 转化为驼峰命名
    • 实现 (5).add(3).minus(2) 功能
    • 咖啡机进阶优化
    • 咖啡机状态管理
    • 常用设计模式总结
    • 咖啡机状态切换机制
    • 查找数组公共前缀(美团)
    • 实现一个compose函数
    • 并发请求调度器
    • 组合模式
    • 实现 console.log 代理方法
    • Decorator Pattern
    • 实现防抖和节流
    • 实现一个JS函数柯里化
    • 实现防抖函数(debounce)
    • Decorator Pattern
    • 手写深度比较isEqual
    • 消除 if-else 条件判断
    • 修改嵌套层级很深对象的 key
    • 设计模式应用
    • 验证是否是邮箱
    • 实现发布订阅模式
    • 外观模式
    • Facade Pattern
    • Factory Pattern
    • 工厂模式
    • 工厂模式实现
    • Flyweight Pattern
    • 前端常用设计模式与场景
    • 提取对象中所有value大于2的键值对
    • 用正则实现根据name获取cookie中的值
    • 获取今天的日期
    • ES6 之前的迭代器模式
    • 实现 getValue/setValue 函数来获取path对应的值
    • 验证是否是身份证
    • 迭代器模式
    • jQuery slideUp 动画队列堆积问题
    • 实现一个JSON.parse
    • 实现 LazyMan 任务队列
    • 实现一个JSON.stringify
    • 实现lodash的chunk方法--数组按指定长度拆分
    • 字符串最长的不重复子串
    • LRU 缓存算法
    • 查找字符串中出现最多的字符和个数
    • new 操作符的实现原理
    • 中介者模式
    • 中介者模式
    • 对象数组如何去重
    • 千分位格式化
    • 实现观察者模式
    • 观察者模式实例
    • 观察者模式
    • 实现观察者模式
    • 实现 padStart() 和 padEnd() 的 Polyfill
    • 判断是否是电话号码
    • Proxy Pattern
    • 代理模式:婚介所
    • Proxy Pattern
    • 代理模式
    • 实现上拉加载和下拉刷新
    • 生成随机数组并排序
    • 大文件断点续传实现
    • 使用 setInterval 模拟实现 setTimeout
    • 重构询价逻辑
    • 实现一个简单的路由
    • setTimeout 模拟实现 setInterval
    • RGB 转 Hex 颜色转换
    • setTimeout与setInterval实现
    • Simple Factory Pattern
    • 实现单例模式
    • 实现一个 sleep 函数
    • 状态模式
    • State Pattern
    • 策略模式
    • Strategy Pattern
    • Storage 单例封装
    • 策略模式
    • 计算字符串字节长度
    • 字符串压缩算法实现
    • 字符串查找
    • 字符串去除前后空格
    • 实现模板引擎
    • 实现千位分隔符
    • 实现模板字符串解析功能
    • 实现一个函数判断数据类型
    • Promise 实现红绿灯交替
    • 实现节流函数(throttle)
    • 从指定数据源生成长度为 n 的不重复随机数组
    • 解析 URL Params 为对象
    • URL 验证
    • 判断括号字符串是否有效
    • 虚拟代理
    • 访问者模式
    • 版本号排序的方法
    • 数组转树形结构
    • 手写二分查找算法
    • 二叉树深度遍历(DFS)
    • 二叉树层次遍历
    • 二叉树搜索的实现
    • 二叉树遍历
    • 手写冒泡排序
    • 手写插入排序算法
    • jQuery 队列实现原理
    • 实现一个链表结构
    • 检测链表环
    • 实现LRU淘汰算法
    • 实现队列、栈和链表
    • 实现一个队列
    • 快速排序的实现
    • 递归反转链表
    • 手写选择排序算法
    • 树形结构转数组
    • 实现一个 Hash 路由
    • 实现中间件机制
    • JSX 转 VNode 和 Render 函数
    • MVVM 双向数据绑定实现
    • 实现一个简易的MVVM
    • 实现Node的require方法
    • 实现一个迷你版的Vue
    • 实现 Promise/A+ 规范
    • 实现Redux中间件机制
    • Redux 状态管理实现
    • 实现事件总线结合Vue应用
    • 实现redux-thunk中间件
    • 实现一个双向绑定
    • useEffect Hook 生命周期模拟
    • 实现 useState Hook
    • 实现Vue reactive响应式
    • Vue2 响应式系统实现
    • Vue3 响应式系统实现
    • 实现async/await
    • 手写实现Ajax
    • 异步并发数限制
    • 延时执行函数封装
    • jQuery Deferred 对象
    • 异步串行 | 异步并行
    • 实现观察者模式
    • 实现JSONP方法
    • Promise.all 实现
    • 实现 Promise.all
    • 实现 Promise.allSettled
    • 实现 Promise.allSettled
    • 实现 Promise.any
    • 完整实现Promises/A+规范
    • Promise.finally 实现
    • Promise 实现-详细
    • 实现 Promise.prototype.finally
    • Promise 加载图片
    • 实现Promise相关方法
    • 实现 Promise.race
    • 实现 Promise.race
    • 实现 Promise.reject
    • 实现Promise的resolve方法
    • 实现有并行限制的 Promise 调度器
    • 实现一个简版Promise
    • 实现Promisify
    • 实现发布订阅模式
    • setTimeout 模拟 setInterval
    • 实现单例模式
    • 红绿灯循环控制

代码题

前端代码实现题,包括 JavaScript 基础、对象与数组、DOM 操作、工具函数、数据结构、框架相关、异步与并发等。

1.
JavaScript 基础

JS 基础编程题

2.
对象与数组

对象和数组操作

3.
DOM 操作

DOM 操作相关

4.
工具函数

常用工具函数

5.
数据结构

数据结构实现

6.
框架相关

框架源码实现

7.
异步与并发

异步编程模式

Trycoding.fun © 2025 版权所有 京ICP备19000129号-4
Trycoding.fun
© 2025 版权所有 京ICP备19000129号-4
关于 博客 GitHub