- 博客(85)
- 收藏
- 关注
原创 前端面试题---GET跟POST的区别(Ajax)
服务器可能限制请求体的最大大小(比如 Nginx、Apache、Express 都有默认配置)。GET 适合传少量参数,空间有限;POST 适合传大量数据或文件,空间大、传输更安全。GET 数据放在 URL 中,受限较多;POST 数据放在请求体中,空间更大更安全。比如上传文件时可以传好几 MB,甚至 GB 的内容,这就是 POST 的优势。因为 浏览器和服务器对 URL 的长度有限制,通常在 2048 个字符左右。所以如果你用 GET 传太多数据,会被截断或报错。📌 2. 为什么 GET 有长度限制?
2025-04-17 08:49:22
319
原创 前端知识点---防抖(javascript)
单位时间内,频繁触发事件,只执行最后一次百度输入框, 输入一个字母下面就会有提示输入第二个字母下面的提示就会变而别的浏览器只有在你输入结束之后才出现提示, 这就是做了防抖处理搜索框搜索输入。只需用户最后一次输入完,再发送请求手机号、邮箱验证输入检测每次只要输入一个字母 就会触发因为 input 事件会在 用户输入内容时 立即触发。每当用户更改输入框的内容(包括键盘输入、粘贴文本、删除字符等),事件会立即响应并执行相应的回调函数。
2025-04-11 11:17:40
263
原创 ---实例属性,方法 & 静态属性,静态方法
1.实例成员(属性和方法)写在谁身上?实例对象的属性和方法即为实例成员实例对象相互独立,实例成员当前实例对象使用2.静态成员(属性和方法)写在谁身上?构造函数的属性和方法被称为静态成员静态成员只能构造函数访问。
2025-04-10 17:46:38
183
原创 前端知识点---闭包(javascript)
inner() 是闭包,它能访问 outer() 作用域里的 count。函数里面包着另一个函数,并且内部函数可以访问外部函数的变量。每次调用 fn(),count 的值都会保留,不会重置。封闭数据,实现数据私有,外部也可以访问函数内部的变量。闭包会占用内存,变量不会被回收,要小心内存泄漏。不要滥用闭包,大量使用可能影响性能。在异步代码中保存上下文。
2025-04-08 21:01:07
483
原创 前端知识点---面向对象与面向过程(javascript)
✅ 面向对象:就是**把任务分配给具体的人(类和对象)**去做,每个人有自己的职责,谁该做什么很清楚。✅ 面向过程:就是一步一步地把事情做完,用函数一步步完成任务,重点在“流程”和“怎么做”。🔍 特点: 一步一步执行,流程清晰,但每次都要重复这些操作逻辑,不好复用。🔍 特点: 用“对象”组织代码,行为清晰,职责分明,系统更好维护和扩展。用的**“点外卖”**的生活场景,来对比一下面向过程和面向对象。面向过程强调“怎么做”,面向对象强调“谁来做”。面向过程是“做事的人”,面向过程:怎么做(流程)
2025-04-07 14:33:42
201
原创 前端知识点---let 和 const 的区别(javascript)
⚠️ 对象或数组可变:虽然 const 不能重新赋值,但如果它是对象或数组,其“内容”是可以改的。不可重新赋值:const 声明后必须初始化,之后不能再更改其指向的值。不可重复声明:在同一作用域内不能用 let 重复声明同名变量。可重新赋值:你可以改变 let 声明的变量的值。不可重复声明:同样不能在同一作用域内重复声明。块级作用域:和 let 一样具有块级作用域。块级作用域:只在声明它的代码块中有效。
2025-04-07 09:39:44
197
原创 前端知识点---箭头函数的特点(javascript)
箭头函数里不能用 arguments,要用剩余参数 …箭头函数不会绑定自己的 this,它会继承外层作用域的 this。“简洁写法继 this,不能 new,没 arguments。只有一个参数时可以省略括号:x => x * 2。只有一行返回值时可以省略 {} 和 return。用于回调函数时,不会因为 this 指向出错。
2025-04-07 09:29:50
299
原创 前端知识点---本地存储(javascript)
localStorage 是浏览器提供的一个 本地存储 API,可以在用户的浏览器中存储数据,数据不会随页面刷新而丢失。
2025-04-04 22:26:37
491
原创 前端知识点---promise链(javascript)
Promise 链(Promise chain)是指通过 Promise 对象的 then() 方法将多个异步操作按顺序串联起来,实现异步操作的顺序执行。每个 then() 方法都会返回一个新的 Promise,从而可以继续调用后续的 then() 方法。通过链式调用,可以避免回调地狱(callback hell),使代码更加简洁和可读。
2025-03-31 21:34:01
787
原创 webgl知识点---类型化数组
WebGL 操作的是 GPU而不是 CPU, webgl很吃显卡性能GPU 需要直接读取二进制数据,而不是普通的 JavaScript 数组。类型化数组提供内存中的原始二进制数据,GPU可以高效地读取。普通 JavaScript 数组存储的是对象,会有额外的元数据和指针,效率低。类型化数组使用定长的二进制数据,内存占用小。WebGL 使用 GLSL(OpenGL Shading Language) 编写的着色器需要特定的数据格式。类型化数组直接映射到内存中的数据块,支持快速的读取和写入。
2025-03-31 20:44:28
695
原创 前端知识点---window.location.assign() 和 window.location.href 的区别(javascript)
如果需要读取 URL 或简单跳转,href 更方便;如果只想执行跳转且强调跳转行为,assign() 更合适。平常用的window.location.href 更多。
2025-03-28 22:02:21
498
原创 前端知识点---事件监听器里面的e.target跟this的区别,e.target在事件委托中的好处
在事件监听器中,e.target 和 this 有时是一样的,但它们并不完全相同。✅ 相同点当事件直接绑定到元素时:e.target 和 this 通常指向相同的元素,即事件绑定的元素。// 指向 #btnlog;// 指向 #btn;</解释:this 指向的是事件绑定的元素。e.target 指向的是实际触发事件的元素。在这种情况下,它们相同。
2025-03-28 11:18:16
398
原创 前端知识点 --- border-Radius的四个角(css)
左上角:水平半径20%,竖直半径5%右上角:水平半径5%,竖直半径20%右下角:水平半径20%,竖直半径5%左下角:水平半径5%,竖直半径20%
2025-03-27 11:09:54
386
原创 前端知识点---事件委托和机制-阻止冒泡机制-阻止默认行为机制(javascript)
事件委托是一种将事件监听器绑定到父元素上,利用事件冒泡机制来处理子元素事件的技术。事件冒泡:当一个元素上的事件被触发时,事件会从目标元素向上冒泡到其父元素,直至根元素(document)。e.stopPropagation():阻止事件从当前目标元素继续向上冒泡,不会触发父元素的事件监听器。e.stopPropagation() 的作用是 阻止事件继续冒泡,让事件不会再传递到父元素。e.stopPropagation() 只阻止事件冒泡,不会阻止同一元素上的其他事件执行。
2025-03-26 14:29:50
1164
1
原创 前端知识点---innerHTML和innerText
innerHTML 主要用于处理 HTML 内容(包括标签),并且可以动态插入 HTML 代码。但它的使用需要小心,尤其是在处理用户输入时,因为可能引发 XSS 攻击。innerText 仅操作纯文本内容,适合用来获取或设置文本,忽略 HTML 标签和样式。相较之下,innerText 更安全。✅ 示例:innerHTML 和 innerText 的使用。✅ innerHTML 与 innerText 对比。
2025-03-24 17:09:09
311
原创 前端知识点---添加节点(javascript)
在 DOM(文档对象模型)中,“添加到节点” 通常是指将一个新创建的元素或节点添加到现有的 HTML 元素中。动态添加元素: 比如在待办事项应用中,点击“添加任务”按钮时,你可以动态地向页面中添加新的一项任务。动态内容更新:你可以在页面加载后动态地插入新的内容(例如添加新的一项任务到待办事项列表)。交互性:用户与网页的交互可能会触发页面内容的变化(例如点击按钮时添加新元素)。appendChild():将新节点添加为子节点(追加到父节点的末尾)。insertBefore():将新节点插入到指定的节点前面。
2025-03-24 17:03:37
388
原创 前端知识点 --- 事件监听器(javascript)
✅ 事件监听的基本语法element:目标元素。event:事件类型,如 ‘click’、‘mouseover’、‘keydown’ 等。function:事件发生时执行的回调函数。useCapture (可选):true 表示在捕获阶段触发事件,false 表示在冒泡阶段触发事件(默认)。🧑💻 示例 1:点击事件✅ 解释:当你点击按钮时,事件监听器会捕捉到 ‘click’ 事件并执行弹窗。🧑💻 示例 2:鼠标移入事件✅ 解释:鼠标移入 mouseover 时,背景颜色变红。
2025-03-24 16:21:15
1234
原创 前端知识点---一行代码检测数据类型(javascript)
typeof 只能检测基本数据类型和函数, instanceof不能检测基本数据类型如何一句话检测数据类型呢?结果是一个全为小写的字符串。
2025-03-17 14:26:15
429
原创 前端知识点---window里的api(javascript)
→ 这些是 JavaScript 语言本身提供的,而不是浏览器 BOM。→ 这些属于 DOM API,而不是 BOM。→ 这些是 Web API,不属于 BOM。→ 这些都是典型的 BOM API。
2025-03-17 10:12:06
126
原创 前端知识点---原型-原型链(javascript)
继承与扩展 Dog.prototype = Object.create(Animal.prototype) 复用父类方法,减少代码重复。是指向 Object.prototype,而 Object.prototype 的。方法共享 User.prototype.sayHello 让多个实例共享方法,节省内存。扩展原生对象 Array.prototype.sum 添加全局通用方法,增强功能。
2025-03-15 19:14:01
939
原创 前端面试题---vue项目打包时, 内存不足了怎么办 为什么会出现这样的情况
增加 Node.js 内存限制(最有效)关闭 Source Map启用 Webpack 缓存减少 Webpack 处理的文件启用 Webpack 多进程升级 Vue CLI 和 Webpack这样可以显著降低打包时的内存占用,提高构建速度。
2025-03-15 15:21:11
1016
原创 前端知识点---typedof和instanceof的区别(javascript)
typeof 适合基本类型(string, number, boolean, undefined, function 等)。instanceof 适合判断对象的具体类型(Array, Date, Function 等)。
2025-03-15 09:44:04
426
原创 前端0基础---day19正则表达式(javascript)
正则表达式,又名 “规则表达式”正则是JS中的数据类型, 是一个复杂数据类型由我们自己来书写 “规则”,专门用来检测字符串是否符合 “规则” 使用的我们使用一些特殊的字符或者符号定义一个 “规则公式”,然后用我们定义好的 “规则公式” 去检测字符串是不是合格上面的变量reg就是定制好的规则检测str1这个字符串的时候,符合规则检测str2这个字符串的时候,不符合规则\d等价于[0-9],表示匹配一个数字,表示一个或多个。所以\d+就是“匹配一个或多个数字”,而/\d+/
2025-03-12 19:58:29
1028
原创 前端知识点---为什么箭头函数没有构造函数(javascript)
普通函数箭头函数有 prototype,可作为构造函数没有 prototype,不能作为构造函数this 指向调用者,可变this 定义时绑定,不可变适合作为对象方法、构造函数适合回调函数、数组方法(map、filter)适用于 new 关键字创建对象不能用 new。
2025-03-12 15:51:05
245
原创 前端0基础---day18Math - Date - 定时器 (javascript)
因为JavaScript中的定时器(setTimeout 或 setInterval)是异步执行的,返回一个唯一的ID。这个ID用于区分不同的定时器,以便能精确地停止某个定时器。回调函数本身并不是必须的,但它是在设置定时器时用来指定触发时要执行的代码。不是所有的回调函数都是异步进行的 分为同步回调和同步回调。** 统计字符串中各个字母(或元素)出现的次数**同步回调:在当前执行上下文中直接执行的回调。异步回调:异步回调必须在主线程完成之后调用。清除定时器要先获取到定时器的 ID。
2025-03-10 21:55:20
360
原创 前端知识点---http.createHttp()的理解(arkts)
你可以在 http.createHttp() 里设置 默认请求头、超时时间,后续请求都会继承这些设置,就像你的 专属客服记住了你的点餐习惯。✅ http.createHttp() 就像是建立了一个外卖客服专线,你可以随时通过这个专线点餐,而不需要每次都重新拨号。✅ 如果不用 http.createHttp(),你每次点餐都要重新拨号(创建新的 HTTP 请求实例),会很麻烦。http.createHttp() 让你只创建 一个 HTTP 客户端,不用每次都重新拨号(创建新连接)。
2025-03-08 21:35:26
735
原创 前端知识点---库和包的概念
包(Package) 是指一组代码库的封装,通常包含多个库(Library)、依赖关系和元数据(如 package.json 之类的描述文件)。库(Library) 是一组可复用的代码集合,提供特定功能(如网络请求、UI 组件、数据处理等)。💡 可以理解为:「工具箱」(里面装了多个工具,比如锤子、螺丝刀等)。💡 可以理解为:「工具箱」里的一个工具(比如一把锤子)。
2025-03-08 21:17:38
382
原创 前端知识点---路由模式-实例模式和单例模式(ts)
在 ArkTS(Ark UI 框架)中,路由实例模式(Standard Instance Mode)主要用于管理页面跳转。当创建一个新页面时,可以选择标准实例模式(Standard Mode)或单实例模式(Single Mode)。mode: RouterMode.Standard → 使用标准实例模式,每次跳转都会创建新的 PageB 实例。不会复用已有的页面实例,每次跳转都会创建新的页面实例,用户返回时可以看到之前的页面状态。例如:表单页面,每次填写新表单都会创建新的实例。
2025-03-08 20:58:48
901
原创 前端知识点---前端里的接口
接口是对象的模版, 类也是对象的模版类可以被具体实现 可以new一个类, 接口只能用来定义类型 接口没法被具体实现 没法new一个接口和类都是对象的模版, 接口只能用来定义类型id: number;id: 1,name: '张三',接口作为类型定义:用于指定对象的结构和类型,确保代码类型安全,特别是在 TypeScript 中使用。API 接口:指前端与后端进行数据交互的接口,通过 HTTP 请求来获取或发送数据。
2025-03-08 17:14:53
762
原创 前端面试题---.onChange() 事件与焦点机制解析
焦点(focus) 指的是 当前正在操作的元素(如输入框、按钮)。只有一个元素能同时拥有焦点。✅ 如果想输入时立即触发,使用 oninput 或 .onChange()
2025-03-04 20:33:07
254
原创 前端面试题---JavaScript、TypeScript 和 Vue 中的值传递与引用传递对比
引用传递(pass by reference,名词):将变量的地址传递给函数,修改参数会影响原变量,适用于对象类型(如 object、array、function)值传递(pass by value,名词):将变量的副本传递给函数,修改副本不会影响原变量,适用于基本数据类型(如 number、string、boolean)。
2025-03-04 16:20:41
424
原创 前端面试题---小程序跟vue的声明周期的区别
小程序的生命周期主要分为 页面生命周期 和 应用生命周期。每个页面和应用都有自己独立的生命周期函数。小程序的应用生命周期函数与全局应用相关,通常包括以下几个钩子:onLaunch(options):应用初始化时触发。这个函数在应用生命周期内只会调用一次。onShow(options):当应用从后台进入前台时触发,比如用户打开小程序时,或者从其他页面返回时。onHide():当应用进入后台时触发,比如用户退出小程序或者切换到其他应用时。
2025-02-27 09:24:39
704
原创 前端面试题---vue router 哈希模式和历史模式有什么区别
服务器配需要服务器支持 HTML5 的 history.pushState,否则会出现 404 错误,因为直接刷新或访问子路由时,服务器需要返回正确的 HTML 页面。不需要特别配置服务器,因为 # 后面的部分不会发送到服务器,所有请求都指向同一个页面。历史模式:更清晰的 URL,但需要配置服务器支持 HTML5 历史记录。简单,不需要额外的服务器配置,兼容性好,适用于没有控制服务器的情况。哈希模式:不需要服务器配置,适合简单应用,但 URL 中有 #。
2025-02-26 21:11:23
269
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人