自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(188)
  • 收藏
  • 关注

原创 单页面和多页面的区别和优缺点

单页面应用(SPA)多页面应用(MPA)优点缺点优点缺点适用SPA的场景适用MPA的场景

2025-07-13 23:34:17 526

原创 v-show和v-if的区别

选择 v-show 还是 v-if 取决于具体需求:频繁切换用 v-show,条件稳定或需要优化初始加载用 v-if。

2025-07-13 23:31:29 181

原创 vue的优缺点

可与其他库或项目整合,既可作为轻量工具嵌入现有项目,也可搭配Vue Router、Vuex构建复杂应用。缺乏严格的项目结构规范,可能导致团队协作时代码风格不统一,需依赖额外约定或工具(如ESLint)。Vue的核心库仅关注视图层,体积小巧(约20KB),加载速度快,适合快速开发小型到中型项目。拥有丰富的第三方插件和工具(如Vue CLI、Vite支持),社区支持强,问题解决资源多。实现数据与DOM的双向绑定,简化表单处理逻辑,提升开发效率。文件),将模板、逻辑和样式封装为独立单元,便于复用和维护。

2025-07-13 23:28:16 360

原创 什么是渐进式框架

渐进式框架是指允许开发者逐步采用框架功能的工具,既可用于简单页面增强,也可构建复杂单页应用(SPA)。这类框架通常具备灵活的集成能力,无需一次性重构现有项目。

2025-07-13 23:26:32 162

原创 框架和库的区别

两者常配合使用,例如在Flask框架中调用SQLAlchemy库处理数据库操作。框架强制约定代码结构和交互模式,例如React要求组件化开发,Angular依赖依赖注入系统。库适用于需要灵活组合功能的场景,如图像处理选用OpenCV库。框架适合需要标准化架构的项目,如企业级应用采用Spring框架。框架的控制权属于框架本身,开发者需遵循框架定义的规则编写代码。库通常提供松散的功能集合,例如NumPy提供数组运算函数,开发者可自由选择组合方式。库的控制权属于开发者,通过显式调用库中的函数或类实现功能。

2025-07-13 23:25:27 253

原创 vue是什么

Vue(Vue.js)是一个用于构建用户界面的渐进式JavaScript框架。它专注于视图层,易于集成到现有项目中,也可用于开发复杂的单页面应用(SPA)。Vue的核心特点是轻量、灵活和高效,通过数据绑定和组件化开发简化了前端开发流程。

2025-07-13 23:24:02 220

原创 axios的post请求,数据为什么要用qs处理?什么时候不用?

axios 的 POST 请求默认将 JavaScript 对象序列化为 JSON 格式(但某些后端接口(尤其是传统表单提交)要求数据以。库将对象转换为 URL 编码的字符串。格式传输,此时需要使用。

2025-07-11 14:35:51 269

原创 深入解析 document.write、innerHTML 和 innerText 的区别

是三种常用的方法,但它们的用途、性能和安全机制截然不同。本文将深入解析三者的区别,助你避免常见陷阱,写出更高效的代码。频繁修改会触发重排(Reflow)和重绘(Repaint),大范围更新时建议用。在 JavaScript 中,操作 DOM 是实现动态页面的关键。修改时仅触发文本节点的更新,比重排整个 DOM 更高效。用户输入展示(如评论、消息框)、无需格式的文本更新。:安全高效的“文本卫士”,适合用户内容展示。同步写入内容,会阻塞页面解析,影响性能。动态插入带格式的内容(如富文本渲染)。

2025-07-06 17:00:00 788

原创 JavaScript 中会被转换为 false 的值详解

除了上述会被转换为false的值,其他所有值在布尔上下文中都会被转换为true,包括非零数值、非空字符串、对象、函数等。例如,1、"hello"、{} 、function() {}在布尔判断中都表示true。console.log("obj为null");console.log("count为0");// 输出: count为0​。console.log("num为NaN");console.log("输入为空");// 输出: 输入为空​。// 由于arr.length为0,循环不会执行​。

2025-07-06 15:00:00 367

原创 JavaScript 中 undefined 和 not defined 的区别详解

此外,当访问对象中不存在的属性,或调用没有返回值的函数时,也会得到undefined。而not defined并不是一个值,也不属于任何数据类型,它是 JavaScript 引擎在运行时遇到无法识别的变量或标识符时抛出的一种错误提示,表示该变量在当前作用域内从未被声明过。undefined的存在不会导致程序报错,它是 JavaScript 中正常的运行结果,可以在条件判断等场景中被合理使用。// 输出: NaN,因为b的值为undefined,undefined参与数学运算结果为NaN​。

2025-07-06 08:31:30 387

原创 JavaScript 中 null 和 undefined 的区别详解

从数据类型角度来看,null虽然代表 “空值”,但typeof null的结果是"object" ,这是 JavaScript 早期设计遗留的一个历史问题。null是一个表示 “空值” 的对象,它是人为赋值的,通常用来表示一个变量有意指向 “空” 的状态,即预期这个变量会指向一个对象,但目前没有指向任何对象。// 输出: true,因为undefined == null会返回true​。若要同时判断null和undefined,可以使用==(注意,==会进行类型转换),或者更严谨地分别判断:​。

2025-07-06 08:30:04 467

原创 oninput 和 onchange 事件有什么区别

【代码】oninput 和 onchange 事件有什么区别。

2025-06-29 21:45:00 242

原创 foreach、for in 和for of的区别

是三种不同的循环方式,适用于不同的场景和数据结构。在 JavaScript 中,

2025-06-29 17:36:36 249

原创 document.write 和 innerHTML、innerText 的区别

解析方式:innerHTML 渲染 HTML 标签,innerText 输出纯文本,document.write 直接写入文档流。安全性:innerText 自动过滤脚本,innerHTML 需手动防 XSS,document.write 可能破坏页面。使用时机:document.write 仅适合页面加载阶段,后两者可随时操作 DOM。// 安全示例:使用 textContent(类似 innerText 但保留换行)element.textContent = "安全文本内容";

2025-06-29 17:16:10 173

原创 【无标题】

在 JavaScript 中,NaN(Not a Number)是一个特殊值,表示无效的数值运算结果。由于 NaN 不等于任何值(包括它自身),直接使用。是全局函数,用于检测一个值是否为 NaN 或无法转换为数字。但它会先尝试将参数转换为数字,可能导致非 NaN 值也被误判。是 ES6 新增的方法,严格判断是否为 NaN,不会进行类型转换。是 ES6 引入的方法,可以精确比较两个值是否相同,包括 NaN。NaN 是唯一一个不等于自身的值,可以通过自比较判断。是最清晰和可靠的选择。

2025-06-29 16:48:31 249

原创 函数声明与函数表达式的区别

函数声明和函数表达式在语法、提升行为以及使用场景上存在差异,以下是具体对比: 函数表达式可以具名,但该名称仅在函数内部可见,适用于递归或调试:箭头函数是函数表达式的简写形式,无自己的 和 :

2025-06-22 14:15:00 136

原创 foreach、for in 和for of的区别

foreach、for in 和 for of 是 JavaScript 中常见的遍历方法,各自适用于不同的场景和数据类型。适用对象forEach:仅限数组。for in:对象(包括原型链属性)。for of:可迭代对象(数组、字符串、Map 等)。中断控制forEach无法中断;for of和for in可通过break或continue控制。返回值forEach无返回值;for of和for in直接获取元素或键名。

2025-06-21 22:30:00 268

原创 箭头函数和普通函数的区别

箭头函数使用 符号定义,省略了 关键字:普通函数使用 关键字:箭头函数没有自己的 ,继承自外层作用域:箭头函数不能作为构造函数,使用 调用会报错:普通函数可以实例化对象:箭头函数没有自己的 对象:普通函数保留 arguments:箭头函数作为对象方法时可能导致意外行为:普通方法可以正确访问实例属性:箭头函数没有 属性:普通函数具有可用的原型链:箭头函数不能用作生成器函数:普通函数支持生成器语法:

2025-06-21 01:00:00 211

原创 ajax中get和post的区别

GET和POST是HTTP请求的两种主要方法,在AJAX中它们的区别主要体现在数据传输方式、安全性、用途等方面。GET请求的数据暴露在URL中,可能被浏览器历史记录、服务器日志等保存,安全性较低。POST请求的数据不会出现在URL中,相对更安全,适合传输敏感信息。POST请求适合提交数据,如创建、修改、删除等改变服务器状态的操作。POST请求将数据放在请求体中发送,不会显示在URL中。GET请求可以被缓存,浏览器可能存储GET请求的结果。POST请求不会被缓存,每次请求都会被视为新请求。

2025-06-20 14:40:56 248

原创 什么是扩展运算符?有什么使用场景?

扩展运算符(Spread Operator)是 JavaScript 中的一种语法,用三个点(它的主要功能是将可迭代对象(如数组、字符串、对象等)展开为独立的元素。合并对象:将多个对象的属性合并为一个新对象。合并数组:将多个数组合并为一个新数组。方法:在函数调用时展开数组作为参数。复制数组:创建数组的浅拷贝。复制对象:创建对象的浅拷贝。

2025-06-15 09:15:00 304

原创 var let const 的区别和使用场景

const 适用于不需要修改的变量,如配置项、常量值或引用类型(对象、数组)的变量声明。const 声明的变量是常量,一旦赋值后不允许修改。var 存在变量提升现象,即变量在声明之前可以被访问,但其值为 undefined。let 和 const 不允许在同一作用域内重复声明同名变量,否则会报错。var 允许在同一作用域内重复声明同名变量,后面的声明会覆盖前面的声明。let 适用于需要重新赋值的变量,如循环计数器或需要多次修改的变量。let 和 const 不存在变量提升,如果在声明之前访问会报错。

2025-06-14 06:45:00 327

原创 什么是模板字符串?比普通字符串的好处

模板字符串(Template Literals)是ES6引入的一种新的字符串语法,使用反引号(它支持多行文本、嵌入表达式(${expression})以及更灵活的字符串拼接。模板字符串在开发中显著提升代码简洁性和可维护性,尤其在动态内容生成和复杂字符串场景下。普通字符串换行需手动添加。

2025-06-13 06:15:00 477

原创 解构赋值及其原理

解构赋值(Destructuring Assignment)是 JavaScript 中的一种语法特性,允许从数组或对象中提取数据并赋值给变量。它提供了一种简洁的方式访问复杂数据结构中的特定值,减少了传统赋值所需的冗余代码。当左侧的变量模式与右侧的数据结构匹配时,引擎会自动提取对应的值并完成赋值。其核心逻辑是通过迭代或属性访问,按照模式对数据结构进行解包。对象解构通过属性名匹配,变量名需与属性名一致(或通过别名映射)。数组解构通过位置匹配,按顺序提取值。解构赋值的底层实现依赖于。

2025-06-12 09:05:53 388

原创 Now formdata是什么?如何使用

FormData 是浏览器提供的 JavaScript 对象,用于构造表单数据格式的键值对。它主要用于发送 multipart/form-data 类型的请求,适合上传文件或提交包含二进制数据的表单。FormData 可以动态添加字段,无需手动拼接数据。

2025-06-07 20:00:00 266

原创 Ajax中get和post的区别

GET请求数据可见于URL和服务器日志,不适合敏感信息。POST请求数据在请求体中,相对更安全,但仍需HTTPS加密。GET请求有长度限制(通常约2048字符),受浏览器和服务器限制。POST请求理论上没有大小限制,适合传输大量数据。GET请求是幂等的,多次执行结果相同。POST请求是非幂等的,每次请求可能产生不同结果(如提交订单)。GET请求会被浏览器缓存,可能保留在历史记录中。POST请求不会被缓存,也不会保存在浏览器历史中。GET请求将数据附加在URL末尾,以查询字符串形式发送。

2025-06-07 04:30:00 298

原创 Set和Map有什么相同和不同之处

【代码】Set和Map有什么相同和不同之处。

2025-06-06 08:47:05 196

原创 什么是promise

Promise是一种用于处理异步操作的编程模式,广泛应用于JavaScript等语言中。其核心思想是将异步操作的结果(成功或失败)封装为一个对象,允许以链式调用的方式处理后续逻辑,避免回调地狱(Callback Hell)。在JavaScript中,Promise通过构造函数创建,接收一个执行器函数(executor),该函数包含。状态一旦改变(从Pending到Fulfilled或Rejected),便不可再逆转。专门处理Rejected状态,相当于。

2025-06-06 08:22:26 419

原创 字符串相关的方法有哪些?

在Python中,字符串是不可变序列,提供了丰富的方法用于操作和处理文本数据。

2025-06-01 10:00:00 174

原创 什么是作用域

作用域(Scope)指程序中定义的变量、函数或对象的可访问范围。它决定了代码中哪些部分可以访问特定的标识符(如变量名)。作用域分为静态作用域(词法作用域)和动态作用域,大多数现代编程语言采用静态作用域。

2025-05-31 04:15:00 269

原创 js中浅拷贝和深拷贝的区别

浅拷贝只复制对象的第一层属性,如果属性是引用类型(如对象、数组),拷贝的是引用地址而非实际值。深拷贝会递归复制所有层级的属性,生成一个完全独立的新对象。

2025-05-30 01:15:00 289

原创 json中对象转字符串和字符串转对象的方法

在JavaScript中,处理JSON数据时经常需要在对象和字符串之间进行转换。以下是针对60.json。

2025-05-29 17:36:21 326

原创 var let const 的区别和使用场景

【代码】var let const 的区别和使用场景。

2025-05-25 08:30:00 239

原创 什么是模板字符串?比普通字符串的好处

模板字符串(Template Strings)是ES6引入的一种新型字符串语法,使用反引号()包裹内容。它支持多行文本、嵌入表达式和标签模板功能。普通字符串使用单引号或双引号定义,功能较为单一。

2025-05-24 08:37:35 207

原创 解构赋值及其原理

解构赋值是 JavaScript 中的一种语法,允许从数组或对象中提取值,并将其赋值给变量。这种语法简化了从复杂数据结构中提取数据的操作。

2025-05-24 00:45:00 283

原创 ajax中get和post的区别,datatype返回的数据类型有哪些?

长度限制:由于 URL 的长度有限制(浏览器和服务器对 URL 的长度通常有限制,通常在 2048 字符以内),因此 GET 请求适合传输较小的数据量。长度限制:POST 请求没有严格的长度限制,可以发送大量数据,适用于需要传输较大数据量的情况(如表单提交,文件上传等)。用于跨域请求,服务器返回的是 JSONP 格式的数据,这通常是包含 JavaScript 回调函数的 JSON 数据。用途:GET 通常用于请求资源(如页面、图片等),或者请求不改变服务器状态的操作(即查询操作)。

2025-05-23 10:47:32 494

原创 什么是时间戳?怎么获取?有什么用

时间戳(Timestamp)是指记录某个事件发生的具体时间点,通常以特定的格式表示。它可以精确到秒、毫秒甚至更小的单位,用于标识某个时刻在时间轴上的位置。时间戳是记录事件发生时间的重要工具,广泛应用于日志记录、数据同步、缓存控制、版本控制和安全验证等领域。通过编程语言提供的API,可以轻松获取当前时间的时间戳,并根据需要进行处理。

2025-05-18 23:55:41 455

原创 什么是dom?作用是什么

DOM(Document Object Model,文档对象模型)是 HTML 和 XML 文档的编程接口。它将文档解析为一个由节点和对象组成的树状结构,允许开发者通过编程方式动态访问和操作文档的内容、结构和样式。

2025-05-18 21:43:18 1575

原创 等于和绝对等于的区别

比较时会自动进行类型转换(隐式转换),尝试将两边的值转为相同类型后再比较。:不进行类型转换,直接比较类型和值。2. ===(绝对等于/严格等于)如果类型相同,直接比较值。如果类型不同,直接返回。如果类型相同,再比较值。会转换类型为数字再比较。不等于任何值,包括自身。布尔值 vs 非布尔值。对象 vs 基本类型。对象比较的是引用地址。

2025-05-18 21:41:50 213

原创 例举3种强制类型转换和2种隐式

虽然隐式转换在某些情况下很方便,但它们可能导致难以发现的错误。最好使用显式的强制类型转换方法,尤其是在处理用户输入或不确定的数据时。强制类型转换是指程序员显式地将一个数据类型的值转换为另一种数据类型。这种转换通常是通过使用特定的函数或运算符来完成的。隐式类型转换是JavaScript自动进行的类型转换,通常发生在运算符操作时。:使用严格等于运算符可以避免JavaScript的隐式类型转换陷阱,使代码更清晰、更安全。运算符连接字符串和数字时,数字会被转换为字符串。不进行类型转换,直接比较值和类型。

2025-05-18 21:40:51 239

原创 冒泡排序的原理

冒泡排序是一种简单的排序算法,它通过重复地遍历待排序的列表,比较相邻的元素并交换它们的位置来实现排序。

2025-05-11 22:24:15 366

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除