
javascript
文章平均质量分 88
Dontla
这个作者很懒,什么都没留下…
展开
-
JS异步请求Fetch对象为什么json()方法需要使用await关键字?(fetch API await json await)因为返回的是Promise对象(Fetch与Axios对比)
方法返回一个Promise对象,而非直接返回解析后的JSON数据。这是现代JavaScript中Fetch API的标准行为,需要使用关键字(或方法)来获取实际解析后的数据。设计原理分析异步JSON解析的必要性时序图#mermaid-svg-7Jig7rZhpCPACWbe {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7Jig7rZhpCPACWbe .erro原创 2025-05-20 16:58:02 · 483 阅读 · 0 评论 -
JS JSON.stringify介绍(JS序列化、JSON字符串 )(遍历输入值的所有可枚举属性,将其转换为文本表示)缓存序列化、状态管理与时间旅行、replacer
/ 序列化内部过程伪代码实现// 检查循环引用// 应用 replacer 函数(如果提供)// 根据数据类型处理${// 序列化内部过程伪代码实现 function pseudoStringify(value , replacer , space) {// 检查循环引用 const seen = new WeakSet();// 应用 replacer 函数(如果提供) if(typeof replacer === 'function') {原创 2025-05-17 16:57:51 · 704 阅读 · 0 评论 -
JS正则表达式介绍(JavaScript正则表达式)
JavaScript正则表达式是一种强大的文本处理工具,掌握其基本语法和高级技巧可以大幅提高文本处理效率。正则表达式由元字符、量词、分组等组成,通过合理组合这些元素,能够实现复杂的模式匹配需求。正确理解和使用标志(flags)可以让正则表达式匹配更精确、更高效,适应不同的文本处理需求。在实际应用中,需要注意正则表达式的可读性和性能问题,避免过于复杂的模式导致难以维护或性能下降。原创 2025-05-10 23:21:25 · 1165 阅读 · 0 评论 -
何时需要import css文件?怎么知道需要导入哪些css文件?为什么webpack不提示CSS导入?(导入css导入规则、css导入规范)
这种模块化的CSS导入方式可能一开始不习惯,但它使CSS的管理更加清晰,也是现代前端开发的主流方式。可是即使我不导入它也没有提示,也没有报错信息,但是我确实是需要导入的,因为我需要打包,但是它不提示我要把哪些css文件导入到哪些css,这不是很奇怪吗?在前端工程中使用webpack打包CSS时,确实需要在JavaScript文件中导入CSS文件,这可能会让人感到困惑。你提出了一个很好的问题!直接导入 CSS 文件。在 JavaScript 中,是否需要导入 CSS 文件取决于具体的使用场景和项目需求。原创 2025-05-09 22:32:38 · 1085 阅读 · 0 评论 -
富文本编辑器如何禁止用户嵌入iframe?(禁用iframe、禁止iframe)
Quill 默认不允许插入 iframe,需通过自定义模块扩展支持,但可直接忽略 iframe 插入逻辑。如果用户直接操作 DOM(如通过开发者工具),可通过 JavaScript 监听并移除 iframe。如果用户使用富文本编辑器(如 TinyMCE、Quill、CKEditor),可配置编辑器禁止插入。指令限制 iframe 的来源,间接阻止用户插入 iframe。通过以上方法,可以有效防止用户在你的网页中插入。仅允许加载同源的 iframe。要禁止用户在你的网页中插入。标签的 HTML 内容。原创 2025-05-09 10:44:00 · 861 阅读 · 0 评论 -
Axios请求拦截器、响应拦截器介绍(统一身份验证、请求参数处理、数据转换与规范化、统一错误处理、请求与响应链路追踪、取消重复请求、请求重试机制)
拦截器是Axios提供的强大功能,分为请求拦截器和响应拦截器,它们允许在HTTP请求发送前和接收响应后进行统一处理。拦截器采用中间件模式实现,能够实现请求与响应数据的全流程管控。以上内容详尽讲解了Axios请求拦截器和响应拦截器的核心概念、实现方式及高级应用,可实际应用于开发中提升API调用的质量和可维护性。重复请求是指在前一个相同请求尚未完成时,又发起了完全相同的请求。Axios拦截器通过责任链模式工作,将请求/响应处理分为多个环节,每个环节负责特定任务。原创 2025-04-29 02:45:00 · 1064 阅读 · 0 评论 -
JS ...语法(JS...)JS展开运算符...三点符号(合并数组、数组克隆、提取数组元素、对象合并、对象克隆与属性增强)(不定参数收集、数组参数展开)(函数参数默认值与解构、不可变数据操作)
展开运算符是ES6引入的强大特性,用于展开可迭代对象。通过三个连续的点(…)表示,能将数组、对象甚至函数参数进行展开操作,极大提升代码简洁性与可读性。展开运算符是现代JavaScript开发中不可或缺的工具,掌握其各种用法能显著提高代码质量与开发效率。原创 2025-04-29 00:45:00 · 357 阅读 · 0 评论 -
JS微任务JS宏任务执行顺序逻辑(以及区分哪些是宏任务,哪些是微任务)事件循环基础、定时器执行机制、promise执行顺序
宏任务队列中的执行顺序不是由代码调用顺序决定,而是由事件被添加到队列的顺序决定。对于setTimeout,延迟时间决定了它何时被添加到宏任务队列中,延迟短的会先执行,无论它们在代码中的调用顺序如何。JavaScript中的事件循环机制通过宏任务和微任务队列协同工作。执行流程遵循:执行同步代码、清空微任务队列、执行下一个宏任务的循环模式。理解这种机制有助于编写更高效、可预测的异步代码。原创 2025-04-24 03:00:00 · 1598 阅读 · 0 评论 -
JS浏览器宿主环境与JS引擎环境(浏览器环境)
JavaScript引擎是执行JavaScript代码的核心组件,负责代码解析、编译和执行。区分引擎和宿主环境使JavaScript能在不同环境中运行,从浏览器扩展到服务器(Node.js)、桌面应用(Electron)和移动应用(React Native),每个环境提供特定API。浏览器宿主环境是JavaScript引擎运行的容器环境,除了包含JavaScript引擎外,还提供DOM、BOM、Web API等浏览器特有功能,使JavaScript能与网页交互。原创 2025-04-23 03:00:00 · 950 阅读 · 0 评论 -
JS事件循环(JS EventLoop)(JS引擎核心机制,单线程环境异步操作。不断检查调用栈和任务队列,确保代码按特定顺序执行)调用栈、任务队列(宏任务、微任务)利用时间循环实现防抖与节流
Web Worker和SharedArrayBuffer提供了并行计算能力,Async/Await使异步代码更易于理解,这些都是基于事件循环架构的扩展。事件循环是JavaScript引擎执行代码的核心机制,使得JavaScript能够在单线程环境下实现异步操作。单线程模型避免了复杂的线程同步问题,而事件循环则解决了单线程环境下的阻塞问题。了解事件循环机制对开发高性能JavaScript应用至关重要,能够避免常见的性能陷阱,实现真正的非阻塞编程模式。调用栈是一种数据结构,记录程序执行的位置。原创 2025-04-23 03:30:00 · 565 阅读 · 0 评论 -
JS async与await(JS await、JS异步编程)(async用于声明异步,await用于暂停异步)(async/await:JS中处理异步操作强大工具,建立在Promise基础上)
async/await 是 JavaScript 中处理异步操作的强大工具,它建立在 Promise 的基础上,提供了更简洁、更直观的语法。掌握 async/await 的工作原理和使用技巧,可以显著提高代码的可读性和可维护性,同时避免回调地狱问题。正确使用 async/await 需要理解其底层机制,注意错误处理,并在适当场景选择并行或串行执行策略。原创 2025-04-23 05:45:00 · 901 阅读 · 0 评论 -
Python与JavaScript中的HTTP请求模型对比(默认同步阻塞模型:requests、默认异步非阻塞模式axios/fetch)(阻塞与非阻塞、JavaScript事件循环)
Python和JavaScript的HTTP请求模型反映了两种语言的设计哲学和应用场景差异。Python的requests库采用同步阻塞模型,而JavaScript的axios和fetch则默认为异步非阻塞模式。JavaScript作为浏览器环境的主要语言,其HTTP请求默认采用异步非阻塞模式,完美契合事件驱动的Web环境。非阻塞请求不会暂停当前执行线程,而是在后台处理请求,通过回调函数或Promise处理响应。两种语言都在向响应式编程模型发展,Python有RxPY,JavaScript有RxJS。原创 2025-04-22 00:15:00 · 886 阅读 · 0 评论 -
JS axios和fetch区别(axios支持更好)
ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ原创 2025-04-22 02:30:00 · 546 阅读 · 0 评论 -
JS Promise链式调用介绍(处理多个异步操作)(Promise对象).then()、.catch()、Promise.all并行处理、Promise.race竞态模式
Promise链式调用为处理复杂异步操作提供了优雅的解决方案。掌握这一技术能够编写出更加可维护、可扩展的异步代码,有效避免回调地狱,提升代码质量和开发效率。原创 2025-04-21 19:45:00 · 324 阅读 · 0 评论 -
JS省市区三级联动查询示例代码(城市查询、地区查询)
效果原创 2025-04-21 15:30:00 · 1543 阅读 · 0 评论 -
JavaScript forEach介绍(JS forEach、JS for循环)
forEach 作为JavaScript数组方法,提供了简洁的遍历方式,适合处理需要对数组元素执行副作用操作的场景。了解其工作原理和局限性,合理选择循环方式,能够编写出更高效、更易维护的代码。原创 2025-04-21 00:00:00 · 534 阅读 · 0 评论 -
JavaScript箭头函数介绍(=>)(箭头函数不绑定自己的this,而是继承上下文的this;不能用于构造函数)JavaScript =>、JS箭头函数
箭头函数带来了更简洁的语法和词法绑定的this,使JavaScript代码更加简洁优雅。但需要注意其使用场景的限制,合理选择传统函数和箭头函数,才能发挥各自的优势。原创 2025-04-06 18:14:23 · 405 阅读 · 0 评论 -
JavaScript promise实例——通过XHR获取省份列表
/ 目标:使用Promise管理XHR请求省份列表。'关联Promise的成功和失败处理函数...''Promise已成功解决(resolved)'// 服务器返回错误提示消息,插入到p标签显示。'XHR请求成功,触发resolve...''XHR请求失败,触发reject...'// xhr如何判断响应成功还是失败的?// 3.关联成功或失败函数,做后续处理。'XHR请求已发送,等待响应...''Promise回调函数开始执行''开始创建Promise...'// 1.创建Promise对象。原创 2025-04-06 16:29:40 · 609 阅读 · 0 评论 -
JavaScript promise介绍(表示一个异步操作的最终完成或失败及其结果值)(待定pending、已兑现fulfilled、已拒绝rejected)async、await、resolve
Promise 规范持续发展,JavaScript 生态也在不断优化处理异步操作的方式。了解 Promise 核心概念和使用模式,能够极大提升异步编程效率和代码质量。Promise 是 JavaScript 中处理异步操作的一种对象,它表示一个异步操作的最终完成(或失败)及其结果值。原创 2025-04-05 22:19:30 · 448 阅读 · 0 评论 -
XHR数据提交(XMLHttpRequest数据提交demo)HTTP数据提交、Content-Type:application/json(账号注册示例)json提交、json数据提交
效果原创 2025-04-05 17:22:13 · 813 阅读 · 0 评论 -
HTTP查询参数示例(XMLHttpRequest查询参数)(带查询参数的HTTP接口示例——以python flask接口为例)flask查询接口
/ 2. 配置请求方法和URL(携带查询参数pname=辽宁省)// 将响应数据从JSON字符串解析为JavaScript对象。// 目标:使用XHR携带查询参数,展示某个省下属的城市列表。// 将城市列表数据渲染到页面,使用<br>标签分隔每个城市。// 1. 创建XMLHttpRequest对象。// 3. 监听loadend事件,接收响应结果。// 打印解析后的数据对象。// 打印原始响应数据。// 4. 发起请求。原创 2025-04-05 16:23:38 · 1078 阅读 · 0 评论 -
JavaScript图片上传并展示(change事件)(使用axios)
/ e.target.files是一个FileList对象,包含用户选择的所有文件。// e是事件对象,e.target指向触发事件的元素(这里是input)// e.target.files[0]是用户选择的第一个文件。// 2. 使用 FormData 携带图片文件。// change事件会在用户选择文件后触发。// result包含服务器返回的响应数据。// 发送的数据(FormData对象)// 根据服务器返回的数据结构来获取。// 第二个参数是要上传的文件对象。/* 上传后显示的图片样式 */原创 2025-04-05 15:01:28 · 956 阅读 · 0 评论 -
JavaScript分号问题(自动分号插入机制Automatic Semicolon Insertion, ASI机制)立即执行函数表达式(IIFE)、ASI规则
JavaScript的分号使用问题反映了语言设计的灵活性与潜在陷阱并存的特点。通过深入理解ASI机制,无论选择哪种风格,都能写出可靠、一致的代码。重要的不是选择使用或不使用分号,而是理解选择背后的原理,并在团队中保持一致。原创 2025-04-04 23:38:45 · 891 阅读 · 0 评论 -
JavaScript M端事件(移动端事件)触摸代码(触摸开始touchstart、触摸结束touchend、滑动触摸touchmove)
* 使用 flexbox 布局 *//* 设置盒子的背景颜色 *//* 可选: 添加边框 *//* 设置盒子的宽度 *//* 设置盒子的高度 *//* 水平居中内容 *//* 垂直居中内容 *//* 设置字体大小 */原创 2025-04-04 21:25:14 · 1010 阅读 · 0 评论 -
前端页面鼠标移动监控(鼠标运动、鼠标监控)鼠标节流处理、throttle、限制触发频率(setTimeout、clearInterval)
/ 使用 lodash 的 throttle 函数进行节流。/* 使用 flexbox 布局 *//* 使用 flexbox 布局 *//* 设置盒子的背景颜色 *//* 设置盒子的背景颜色 *//* 可选: 添加边框 */// 每3000毫秒调用一次。/* 可选: 添加边框 *//* 设置盒子的宽度 *//* 设置盒子的高度 *//* 设置盒子的宽度 *//* 设置盒子的高度 *//* 水平居中内容 *//* 垂直居中内容 *//* 设置字体大小 *//* 水平居中内容 *//* 垂直居中内容 */原创 2025-04-04 21:16:15 · 1520 阅读 · 0 评论 -
JavaScript闭包与C++静态变量:状态保持机制的对比(JS闭包、C++ static)(JS:普通局部变量、闭包变量)(C++:局部变量、静态局部变量)节流
JavaScript通过闭包的特性自然地实现了状态持久化,而C++则需要显式使用。关键字来实现相同效果。这是两种语言在设计理念和实现机制上的重要区别。原创 2025-04-04 18:24:21 · 365 阅读 · 0 评论 -
前端页面鼠标移动监控(鼠标运动、鼠标监控)鼠标防抖处理、mousemove、debounce()、事件停止触发、超时触发
/ 当鼠标移动时,只有在停止移动 300 毫秒后,才会更新盒子中的数字。// 更新盒子中的内容为当前计数器的值,并自增。// 更新盒子中的内容为当前计数器的值,并自增。/* 使用 flexbox 布局 *//* 使用 flexbox 布局 *//* 使用 flexbox 布局 */// 为盒子添加鼠标移动事件监听器。// 为盒子添加鼠标移动事件监听器。// 为盒子添加鼠标移动事件监听器。/* 设置盒子的背景颜色 *//* 设置盒子的背景颜色 *//* 设置盒子的背景颜色 */原创 2025-04-04 16:19:19 · 879 阅读 · 0 评论 -
ECMAScript介绍
ECMAScript 是一种脚本语言的标准,主要用于在网页上实现动态功能。它是 JavaScript 的基础,定义了语言的语法、类型、结构、语句、关键字、保留字、操作符、内置对象等。ES5(ECMAScript 5):发布于 2009 年,增加了许多新特性,如严格模式、JSON 支持等。ES6(ECMAScript 2015):引入了许多重要的新特性,如箭头函数、类、模块、Promise、解构赋值等。后续版本:每年发布的新版本(如 ES7、ES8 等)继续增加新特性和改进。原创 2025-04-03 23:36:28 · 953 阅读 · 0 评论 -
lodash库介绍(一个现代JavaScript实用工具库,提供模块化、性能优化和额外功能)JavaScript库(防抖、节流、函数柯里化)JS库
Lodash是一个现代JavaScript实用工具库,提供模块化、性能优化和额外功能,使JavaScript编程更加简单高效。该库包含200多个函数,涵盖数组、对象、函数、字符串等多种数据类型的处理。Lodash通过提供丰富的工具函数,极大地简化了JavaScript开发工作。合理使用Lodash可以使代码更加简洁、可读性更强,同时避免重复造轮子,提高开发效率。原创 2025-04-03 23:34:25 · 997 阅读 · 0 评论 -
JavaScript函数柯里化(Currying)介绍(一种将接受多个参数的函数转换为一系列接受单一参数的函数的技术)柯里化函数
函数柯里化是一种强大的编程技巧,能够提高代码的灵活性和可重用性。通过将多参数函数转化为一系列单参数函数,开发者可以更方便地处理函数的调用和组合。原创 2025-04-03 23:28:20 · 826 阅读 · 0 评论 -
flexible.js源码分析(解决移动端屏幕适配问题的轻量级JavaScript库,在不同尺寸、不同分辨率的移动设备上的页面等比例缩放)动态缩放(设计稿分成10份,每份为1 rem)自适应缩放
Flexible.js是一个用于解决移动端屏幕适配问题的轻量级JavaScript库,由手机淘宝前端团队开发。它通过动态设置HTML根元素的font-size以及viewport的scale,实现了在不同尺寸、不同分辨率的移动设备上的页面等比例缩放,为开发者提供了便捷的适配方案。Flexible.js通过动态设置根元素的font-size和viewport的scale,巧妙地解决了移动端多屏适配问题。原创 2025-03-24 17:52:42 · 1054 阅读 · 0 评论 -
HTML属性tabindex=“-1“含义(用于控制元素在页面上的键盘导航顺序,值越小,元素越早获得焦点;值为-1表示元素不能通过Tab键获得焦点)模态弹框、不可见元素
通常用于需要程序控制焦点的元素,比如在某些情况下需要动态聚焦的弹框或隐藏元素。来确保弹框在打开时可以通过 JavaScript 聚焦,而不影响页面的其他元素的焦点顺序。这个元素不会在用户按下 Tab 键时被聚焦,但可以通过 JavaScript 控制其焦点。属性的值可以影响元素是否可以通过键盘的 Tab 键获得焦点,以及它在焦点顺序中的位置。元素可以通过 Tab 键获得焦点,并且它在焦点顺序中遵循文档的自然顺序。元素可以通过 Tab 键获得焦点,并且它在焦点顺序中的位置由。值越小,元素越早获得焦点。原创 2025-03-20 18:03:07 · 828 阅读 · 0 评论 -
bootstrap介绍(前端框架)(提供超过40种可复用组件,从导航栏到轮播图,从卡片到弹窗)bootstrap框架
/ 自定义主题色// 修改组件圆角// 导入Bootstrap。原创 2025-03-20 14:17:49 · 2138 阅读 · 0 评论 -
Html label标签中的for属性(关联表单控件:将标签与特定的表单元素(如输入框、复选框等)关联起来;提高可用性;无障碍性)
当用户点击"省份名称:"文本时,会自动获取输入框的焦点,使用户体验更好。:对于使用屏幕阅读器的用户,这种关联可以帮助他们更好地理解表单结构。:当用户点击标签文本时,浏览器会自动将焦点转移到关联的表单元素上。:它将标签与特定的表单元素(如输入框、复选框等)关联起来。属性的值必须与要关联的表单元素的。属性是一个重要的无障碍功能属性。原创 2025-03-16 17:37:05 · 1142 阅读 · 0 评论 -
黑马node.js教程(nodejs教程)——AJAX-Day01-04.案例_地区查询——查询某个省某个城市所有地区(代码示例)
axiosTest.html效果ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ原创 2025-03-16 17:33:00 · 1104 阅读 · 0 评论 -
Axios介绍(前端开发处理网络请求首选工具,基于Promise HTTP客户端,可以在浏览器和Node.js环境使用)(Axios库)
Axios是一个基于Promise的HTTP客户端,可以在浏览器和Node.js环境中使用。它提供了一套简单且一致的API,使得发送HTTP请求变得异常便捷。自发布以来,Axios已成为前端开发中处理网络请求的首选工具之一。Axios作为一个功能丰富、使用简便的HTTP客户端库,凭借其优秀的API设计和强大的功能扩展性,成为现代前端开发中处理网络请求的首选工具。通过合理利用配置选项、拦截器、错误处理等机制,可以构建出高效、健壮的前端应用。原创 2025-03-15 17:31:51 · 1764 阅读 · 0 评论 -
XMLHttpRequest介绍(XHR对象)介绍(浏览器API对象,允许客户端脚本发送HTTP请求与服务器进行数据交换,无需刷新整个页面)(AJAX核心组件)XMLHttpRequest请求示例
XMLHttpRequest (XHR) 是一个浏览器API对象,允许客户端脚本发送HTTP请求与服务器进行数据交换,而无需刷新整个页面。作为AJAX技术的核心组件,XHR于1999年首次在Internet Explorer 5中引入,后来被所有主流浏览器采纳并标准化。XMLHttpRequest作为AJAX技术的基石,虽然在现代Web开发中有了更新的Fetch API,但因其广泛的浏览器兼容性、丰富的事件处理和强大的功能特性,仍然在许多场景中发挥着不可替代的作用。原创 2025-03-15 17:02:52 · 1093 阅读 · 0 评论 -
原生应用与非原生应用对比(移动应用开发领域两大主要技术路线)(原生应用Native App指专门为特定平台开发的应用程序,直接使用平台提供的SDK(软件开发工具包)和编程语言构建)
原生应用(Native App)是指专门为特定平台开发的应用程序,直接使用平台提供的SDK(软件开发工具包)和编程语言构建。iOS平台:使用Swift或Objective-C语言,基于Xcode开发环境Android平台:使用Kotlin或Java语言,基于Android Studio开发环境应用层 → 业务逻辑层 → 平台API调用层 → 操作系统。原创 2025-03-15 16:03:32 · 1139 阅读 · 0 评论 -
AJAX介绍(Asynchronous JavaScript and XML)(Web异步通信:不重新加载页面,与服务器交换数据并更新网页)XMLHttpRequest:xhr、Fetch API
AJAX技术彻底改变了Web开发模式,使网页从静态文档演变为动态应用程序。尽管经历了十多年的发展,其核心理念仍然影响着现代Web技术的设计和实现。掌握AJAX不仅是理解Web开发历史的重要一环,也是构建现代互联网应用的基础技能。原创 2025-03-15 15:39:45 · 697 阅读 · 0 评论 -
JavaScript、TypeScript、Node.js使用场景(TypeScript是JavaScript超集)(npm是Node.js自带的包管理工具)(React、vue是前端框架库)
JavaScript 和 TypeScript 的编写与运行环境取决于具体的应用场景。即使是纯前端开发,现代工具链也依赖 Node.js,因此。,并将其作为 JS/TS 开发的基础环境。原创 2025-03-08 18:37:47 · 1044 阅读 · 0 评论