原创 前端双越老师 2025-06-14 09:01 重庆
点击关注公众号,技术干货及时达!
MOV
(数据传输)、ADD
(加法)等,简化了编程工作。www.example.com
转换为IP地址,使用户可以通过易记的域名访问网站。
💻 计算机基础是前端开发的基石,包括计算机组成原理、操作系统、编译原理、汇编语言、计算机网络等,这些知识能帮助开发者深入理解计算机的运行机制。
🌐 计算机网络是前端开发不可或缺的一部分,理解OSI模型、TCP/IP协议、HTTP协议、CDN等概念,有助于开发者更好地进行网络请求、优化网站性能。
🧠 数据结构与算法是提升前端开发能力的必备技能,掌握数组、链表、栈、队列、树、图等数据结构,以及查找、排序、DFS、BFS等算法,能够更有效地解决问题。
💡 编程模式和设计模式能帮助开发者写出更易于维护、扩展的代码,面向对象编程、函数式编程、设计模式(如单例模式、观察者模式)等都是前端开发者应该掌握的知识。
🛠️ 前端基础技术是构建用户界面的关键,HTML、CSS、JS和ES是前端开发的核心语言,需要熟练掌握,并了解TS、JSX等前端技术及 Web API 的应用。
原创 前端双越老师 2025-06-14 09:01 重庆
点击关注公众号,技术干货及时达!
MOV
(数据传输)、ADD
(加法)等,简化了编程工作。www.example.com
转换为IP地址,使用户可以通过易记的域名访问网站。A
对应的ASCII编码是65
(二进制表示为01000001
)a
是97
(二进制01100001
)「Unicode 编码」 是一个字符编码标准,用于统一表示世界上几乎所有的文字和符号。它为每个字符分配一个唯一的数字标识(称为「码点」),并支持多种语言、符号以及其他字符集,包括汉字、拉丁字母、数学符号、表情符号等。Unicode 包含了超过137,000个字符,覆盖了几乎所有的书写系统。Unicode 的设计目的是让全球的字符集标准统一,从而解决多种字符编码的兼容性问题。「UTF-8」 Unicode 的一种编码方式,使用1到4个字节来表示一个字符,是目前最流行的Unicode实现,兼容ASCII。「UTF-16」 Unicode 的一种编码方式,使用2或4个字节来表示一个字符,适用于东亚语言。「GBK 编码」 是中国国家标准对简体和繁体中文字符集的一种扩展编码,继承了GB2312编码,并加入了更多的字符,广泛用于中文环境中的计算机系统、文本文件以及网络传输。随着 Unicode 的普及,GBK逐渐被Unicode编码(如UTF-8、UTF-16)所替代,但在一些旧系统和遗留应用中,GBK编码仍然被使用。HTML 和 HTTP 请求时都有一个charset
就表示使用哪种编码类型。如 划水AI 项目默认的编码是utf-8
1
,从而保持操作的时间复杂度为O(logn)
。「堆 Heap」 堆是一种特殊的完全二叉树,满足堆的性质(如最大堆或最小堆),广泛用于优先队列实现。「图 Grahp」 图是由节点和边组成的数据结构,可以表示一对多的关系,分为有向图和无向图。常见算法「查找算法 Searching Algorithms」 查找算法用于在数据结构中查找特定元素,常见的查找算法包括线性查找、二分查找等。「排序算法 Sorting Algorithms」 排序算法用于将数据元素按某种顺序排列,常见的排序算法包括冒泡排序、快速排序、归并排序等。「深度优先搜索 DFS」 深度优先搜索是一种遍历图或树的算法,优先访问每个节点的子节点,直到访问到最深层才回溯。「广度优先搜索 BFS」 广度优先搜索是一种遍历图或树的算法,优先访问每一层的节点,再逐层向下扩展。「分治法 Divide and Conquer」 是一种将问题分解为多个子问题并递归解决的算法设计方法,常见于归并排序、快速排序等算法。「贪心算法 Greedy Algorithm」 是一种通过局部最优解推导全局最优解的算法策略,常见于最短路径、背包问题等。「回溯法 Backtracking」 是一种系统地寻找所有可能解的算法,通过递归逐步构造解并回退,以找到正确的解。「动态规划 Dynamic Programming」 是一种优化算法,用于解决具有重叠子问题的最优子结构问题,常见于求解最短路径、背包问题等。「最短路径算法 Shortest Path Algorithm」 最短路径算法用于在图中找到从一个节点到另一个节点的最短路径,常见的算法有Dijkstra算法、Bellman-Ford算法等。「KMP 算法」 是一种用于字符串匹配的高效算法,通过预处理模式串来提高匹配效率,避免重复匹配。将时间复杂度由O(m*n)
缩短为O(m+n)
。「双指针 Two Pointer」 是一种通过使用两个指针在数据结构(如数组或链表)上进行遍历来解决问题的算法技巧,通常用于查找、排序或优化操作,能够有效减少时间复杂度。算法复杂度「时间复杂度 Time Complexity」 是衡量算法执行时间随输入规模变化的增长速度的指标,通常用大O符号表示,用来评估算法在最坏情况下的性能表现。「空间复杂度 Space Complexity」 是衡量算法在执行过程中所需内存空间随输入规模变化的增长速度,通常用大O符号表示,反映了算法对内存资源的需求。O(1)
无循环O(n)
一层循环O(logn)
分治O(n*logn)
一层循环 + 分治O(n^2)
两层嵌套循环new Class()
Vue React 内部都在用。「单例模式」 全局只允许有一个实例,多则出错。用 TS 语法实现更优雅。「观察者模式」 前端(及其他 UI 编程)最常用的设计模式,工作必用,面试必考。「迭代器模式」 遍历数据不仅仅是for
和forEach
,还有更高级的 Iterator ,JS 早已支持了。「装饰器模式」 Decorator 现已是 JS 的标准语法,装饰器正在前端普及开来。「原型模式」 原型和原型链是 JS 必备的基础知识,还扩展了 JS 对象属性描述符。「代理模式」 编程处处有代理,无论开发环境还是线上环境。Vue3 也用Proxy
实现数据响应式。FP 函数式编程随着 React 的发展,函数式编程在前端开发被广泛使用,主要内容是:「纯函数 Pure Function」 指的是不依赖于外部状态且不修改外部状态的函数,对于相同的输入总是返回相同的输出。「不可变性 Immutability」 数据一旦创建后不可修改,任何变更都会生成新的数据。「副作用 Side Effect」 函数外部的状态改变,如修改全局变量、I/O 操作等,函数式编程尽量避免副作用,以保持函数的纯粹性。「高阶函数 Higher-Order Function」 可以接受一个或多个函数作为输入参数,或者返回一个函数的函数。「函数组合 Function Composition」 将多个小函数组合成一个新的函数,使得每个函数的输出作为下一个函数的输入「函数柯里化 Function Currying」 将一个多参数函数转化为一系列单参数函数的技术。将一个接收多个参数的函数,转化为每次只接收一个参数的函数,并返回接收下一个参数的函数,直到所有参数都被提供完毕。「惰性求值 Lazy Evaluation」 在需要结果时才计算,避免不必要的计算,提升效率。「递归 Recursion」 函数直接或间接调用自身,常用于替代迭代过程。PS. 递归太多可能会发生 stack overflow 栈溢出,或“爆栈”,常见的解决方式是尾递归,即递归放在函数最后,编译器则会优化这一操作。「声明式编程 Declarative Programming」 即描述“做什么”而不是“怎么做”,如 React 只需要描述组件的 UI 应该是什么样的,而不需要直接操作 DOM。AOP 面向切片编程AOP 最广泛的应用是 Java Spring 框架。在前端最常见的是 Nestjs 框架,因为它就是参考 Spring 设计的。软件层级设计「MVC」 它将应用程序分为三个主要部分:模型(Model)处理数据和逻辑,视图(View)显示用户界面,控制器(Controller)处理用户输入并更新模型和视图。「MVP」 一种变种的设计模式,其中模型(Model)处理数据,视图(View)负责显示界面,演示者(Presenter)作为中介,接收用户输入并更新视图和模型。「MVVM」 是一种设计模式,它将模型(Model)用于数据和业务逻辑,视图(View)用于显示用户界面,视图模型(ViewModel)通过数据绑定将模型数据转化为视图显示,通常在现代前端框架中使用。Vue 就是典型的 MVVM 设计方式。前端基础HTML「Head 和 Meta」 title charset link script style keyword description author 等「基础标签」 div h1 h2 h3 p img ul ol li table 等「表单」 form input button select 等「媒体」 video audio 等「2D 3D」 SVG Canvas 等CSS「选择器」 标签 class id 属性等「图文样式」 字号 行高 颜色等「布局」inline block inline-block盒子模型margin 相关:纵向合并,负 marginflex 布局grid 布局float 布局BFC「定位」relativeabsolutefixed定位上下文「响应式」 viewport rem vw vh「渐变和动画」 transition animation「模块化」css modulecss-in-jsBEM「第三方库」NormalizeCSS ResetCSSPostCSSAnimateCSS HoverCSSTailwindCSS BootStrapSass Less Styluscaniuse.com 检测浏览器兼容性JS 和 ES「变量和类型」let constundefined string number boolean object functioin symbol bigint「字符串」「数组」「对象」「函数」「class」 原型,原型链,继承「作用域」 作用链,自由变量,闭包「异步」 Promise Async/await 微任务/宏任务 EventLoop「Map 和 Set」「Proxy 和 Reflect」「Generator」*
yield「正则表达式」「日期和时间」「模块化」 AMD CMD UMD CommonJS ES-Module「异常处理」「第三方库」 lodash jQuery Axios day.js ECharts D3 Anime.js jsPDF UUID i18next ...JSX「语法糖」 本质是 JS 函数「插值和表达式」 写法{xxx}
「事件」 写法onClick={fn}
「自定义组件」 首字母大写「注视」{/* This is a comment */}
TS「新增加的类型」 any void never「类型定义和检查」 变量,函数参数,函数返回值,class 等「数组和元祖」「Enum 枚举」「自定义类型 type」 交叉类型 联合类型「接口 interface」 接口的扩展和继承「抽象类 Abstract class」「泛型 Generics」「装饰器 Decorator」「类型定义文件.d.ts
」 安装第三方的如npm install @types/lodash
tsconfig.json
配置JS Web API「DOM API」 查询 创建 修改 移动 DOM 节点,DOM 树,DocumentFragment「DOM 事件」 事件绑定,事件冒泡,Event 参数,事件代理「BOM API」 window navigator screen location history 等「存储」 cookie localStorage sessionStorage indexedDB「Ajax」 XMLHTTPRequest fetch「通讯」 postMessage,BroadcastChannel「WebWorker」 线程,sharedWorker,ServericeWorker,通讯「jsbridge」 如微信 jssdk网络 HTTP 协议「URL」 组成「Header」 Content-type, Accept, Authorization, User-Agent, Host, Referer, Cookie, Cache-control, Content-length, Connection ...「Method」 GET, POST, PUT, DELETE, PATCH, RestfulAPI「Request」 url params body「Response」 status body set-cookie ...「Status code」 10x 20x 30x 40x 50x「cookie」 服务端 set-cookie,浏览器禁用第三方 cookie「Session」 服务端存储数据「JWT」 客户端存储数据,替换 token,OAuth 第三方登录,SSO 单点登录 ...「跨域」 浏览器同源策略,JSONP,CORS,跨域传递 cookie「浏览器缓存策略」强制缓存 Cache-Control协商缓存 Etag,If-None-Match,Last-Modified, If-Modified-Since缓存位置 Memory Cache, Dist Cache, Service worker Cache「HTTPS」 SSL 协议,SSL 证书,加密过程(非对称和对称加密),通讯过程,options 请求「WebSocket」「GraphQL」「大文件上传」 切片上传,断点续传,秒传最后下半部分 2025 前端+大前端+全栈 知识体系(下),包括 vue react node 工程化等等。这部分如有遗漏的请大家留言评论补充。(创作者训练营强势上线,速戳上图了解)点击"阅读原文"了解详情~
AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。
鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑