
Js篇
文章平均质量分 53
JS小碎片
程序员xiaolibao
编码过程中,知识总结...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
#Js篇:Blob&&File对象&&URL.createObjectURL()&&fetch&location&navigator&new URl
fetch() 是现代浏览器中用于发起网络请求(如 HTTP 请求)的内置 API,常用于从服务器获取或发送数据。它比传统的 XMLHttpRequest 更加简洁、强大,并且基于 Promise,支持异步编程。.then(response => response.json()) // 或 text(), blob() 等URLSearchParams 是 JavaScript 提供的用于处理 URL 查询字符串的 APInew URL() 是 JavaScript 中用于创建 URL 对象的构造函数。原创 2025-05-30 11:13:48 · 857 阅读 · 0 评论 -
#Js篇:两个前端应用通过postMessage传递file对像&& URL.createObjectURL+fetch
文章摘要:本文展示了前端页面间通过window.postMessage进行跨窗口通信的代码示例。A页面使用window.open打开B页面后,延迟500毫秒发送selectedFile数据;B页面通过message事件监听接收数据并打印/弹窗显示。关键点包括:1) 使用postMessage实现跨域通信;2) 延迟确保目标窗口加载完成;3) 处理浏览器拦截弹窗的情况。代码演示了前端跨窗口数据传输的典型实现方式。(149字)原创 2025-05-29 16:15:19 · 219 阅读 · 0 评论 -
#Js篇:pubilc protected private var let 的区别和联系
public、private 和 protected 是用来修饰类成员(属性或方法)的访问控制符。----classvar、let 和 const 则是用于声明变量的关键字。原创 2024-12-20 17:26:41 · 438 阅读 · 0 评论 -
#Js篇:map结构转普通js普通对象
以上方法都可以将 Map 转换为普通的 JavaScript 对象。选择哪种方法主要取决于你的个人偏好和具体需求。Object.fromEntries 方法是最简洁和直接的方式,推荐在现代浏览器和环境中使用。原创 2024-12-17 20:15:00 · 553 阅读 · 0 评论 -
#Js篇:相对路径和绝对路径的解释
便于代码移植,因为路径是相对于当前文件的,不会因为文件位置的变化而失效。适用于需要固定引用的情况,例如网站的 logo 或导航栏等全局资源。在大型项目中,使用绝对路径可以避免因文件结构调整而导致的路径错误。定义:相对于当前文件位置的路径。定义:从根目录开始的完整路径。路径始终以斜杠 / 开始。更灵活,适合模块化开发。取决于当前文件的位置。不依赖于当前工作目录。不以斜杠 / 开始。原创 2024-12-11 20:35:47 · 350 阅读 · 0 评论 -
#Js篇:class用法梳理
类clss原创 2024-11-29 19:00:00 · 376 阅读 · 0 评论 -
#Js篇: 链式判断运算符 ?.和Null判断运算符 ??和逻辑赋值运算符||= &&= ??=
上面代码中,如果response.settings是null或undefined,或者response.settings.animationDuration是null或undefined,就会返回默认值300。上面的三行代码都通过||运算符指定默认值,但是这样写是错的。开发者的原意是,只要属性的值为null或undefined,默认值就会生效,但是属性的值如果为空字符串或false或0,默认值也会生效。上面例子中,字符串的match()方法,如果没有发现匹配会返回null,如果发现匹配会返回一个数组,?原创 2024-11-29 18:30:00 · 599 阅读 · 0 评论 -
#Js篇: 字符串梳理
模板字符串(template string)是增强版的字符串,用反引号(`)标识。模板字符串中嵌入变量,需要将变量名写在${}之中。toUpperCase()转成大写。原创 2024-11-17 22:54:50 · 154 阅读 · 0 评论 -
#Js篇: axios配置
get请求的参数传递形式。原创 2024-11-17 22:54:25 · 164 阅读 · 0 评论 -
#Js篇: window.location 和 new URL区别
window.location 是浏览器提供的一个对象,用于获取当前页面的 URL 信息,并且可以用来导航到新的 URL。window.location: 提供了 origin 属性,但没有 origin 属性的 new URL 对象可以通过 url.origin 访问。new URL: 用于解析任意的 URL 字符串,提供更灵活的 URL 处理能力。protocol: URL 的协议部分(例如 http: 或 https:)。protocol: URL 的协议部分(例如 http: 或 https:)。原创 2024-11-17 22:54:00 · 884 阅读 · 0 评论 -
#Js篇:JSON.stringify 和 JSON.parse用法和传参
JSON.stringify 用于将 JavaScript 对象或数组转换为 JSON 字符串。JSON.parse 用于将 JSON 字符串解析为 JavaScript 对象或数组。这两个方法都支持额外的参数来定制其行为,如 replacer 和 reviver 函数,以及 space 参数。原创 2024-11-17 22:53:38 · 351 阅读 · 0 评论 -
#Js篇:Date日期梳理
Date是js原生的时间库它以国际标准时间(UTC)1970年1月1日00:00:00作为时间的零点,可以表示的时间范围是前后各1亿天(单位为毫秒)。原创 2024-10-28 21:58:29 · 530 阅读 · 0 评论 -
#Js篇:闭包&内存溢出&内存泄露&事件委托&事件循环&拷贝&作用域-作用域链
当在js中使用一个变量的时候,首先在js引擎会尝试在当前作用域下去寻找改变量,如果没有找到,再到它的上层作用域中去寻找,一次类型知道找到该变量或者已经到了全局作用域。你向系统申请内存进行使用,使用完以后不归还,结果你申请的内存自己也不能使用了,系统也不会将你申请的内存分配给其它的需要的内存。所有实例中引用的原型都是同一个对象。又叫事件代理,原理就是利用事件冒泡的机制来实现,也就说把子元素的事件绑定到父元素的身上。就是完全拷贝一份新的对象,会在堆中开辟新的空间,拷贝的对象被修改后,原对象不受影响。原创 2024-03-20 15:04:34 · 1167 阅读 · 0 评论 -
#Js篇:js里面递归的理解
递归是一种编程技术,它是指一个函数在其定义内部调用自身的过程。原创 2024-02-08 22:35:49 · 592 阅读 · 0 评论 -
#Js篇:字符串的使用方法es5和es6
字符串方法总结原创 2024-02-07 22:31:44 · 1479 阅读 · 0 评论 -
#Js篇:数组的方法es5和es6
数组方法学习。原创 2024-02-07 19:14:32 · 1768 阅读 · 0 评论 -
#Js篇:浅拷贝Object.assign()&扩展运算符 (...)&Array.slice() 和 Array.concat()||深拷贝JSON.parse(JSON.stringify())
return obj;// 非对象或 null 直接返回[] : {};// 创建新的对象或数组// 递归调用深拷贝。原创 2024-01-30 10:39:36 · 532 阅读 · 0 评论 -
#Js篇:闭包---能够读取其它函数内部变量的函数
外部读取局部变量定义:能够读取其它函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。闭包(closure)是一个函数以及其捆绑的周边环境状态(词法环境)的引用的组合。换而言之,闭包让开发者可以从内部函数访问外部函数的作用域。在 JavaScript 中,闭包会随着函数的创建而被同时创建。// name 是一个被 init 创建的局部变量// displayName() 是内部函数,一个闭包。原创 2024-01-26 15:23:09 · 535 阅读 · 0 评论 -
#Js篇:基本数据类型(7)Null、Undefined、Boolean、String、Number、Symbol、Bigint&引用数据类型&类型判断方法
判断一个对象是否是某个构造函数的实例,对于引用类型非常有用,但对基本类型(如布尔值、数字、字符串、null、undefined 和 BigInt)无效。可以更准确地判断包括 null 和数组、函数等在内的复杂类型。以及对象(Object)原创 2024-01-23 10:30:51 · 522 阅读 · 0 评论 -
#Js篇:前端的设计模式有哪些
常见的前端设计模式。原创 2023-11-28 11:41:03 · 315 阅读 · 0 评论 -
#Js篇:async函数&&await 命令
是 Generator 函数的语法糖。Generator 函数的引入为 JavaScript 中异步编程提供了一种更为直观和易于理解的方式正常情况下,await命令后面是一个 Promise 对象,返回该对象的结果。如果不是 Promise 对象,就直接返回对应的值。原创 2023-11-25 14:54:16 · 1076 阅读 · 0 评论 -
#Js篇:Promise.all()&Promise.allSettled()&Promise.race()& Promise.any()
Promise是异步操作解决方案,为异步操作提供统一接口。Promise英文意思是“承诺”,表示其他手段无法改变。用于将多个Promise实例,包装成一个新的Promise实例。将多个Promise实例,包装成一个新的Promise实例。只有等到参数数组的所有 Promise 对象都发生状态变更(不管是fulfilled还是rejected),返回的 Promise 对象才会发生状态变更。上面示例中,数组promises包含的三个请求,只有等到三个请求都结束了,才会执行。原创 2023-11-25 14:17:39 · 1229 阅读 · 0 评论 -
#Js篇:单线程模式&&同步任务&&异步任务&&任务队列&&事件循环&&setTimeout()&& setInterval()
定义:是一种程序结构,用于处理任务队列中的任务。js运行时(浏览器)中存在一个主线程,事件循环负责不断的检查任务队列,如果任务队列中有任务,就将任务取出并执行。2、 常见的浏览器无响应—假死,往往就是因为某一段js代码长时间运行—比如死循环,导致整个页面卡在这个地方,其他任务无法执行。1、 只有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。定义:被引擎放在一边,不进入主线程、而进入任务队列的任务。定义:没有被引擎难挂起、在主线程上执行的任务。定义:用来存放异步任务的队列。原创 2023-11-24 22:01:09 · 370 阅读 · 0 评论 -
#Js篇:并发(宏观概念) 和 并行(微观概念)&& 回调函数
并发并发指的是一个系统(或程序)能够同时处理多个任务或操作;这些任务可能在时间上有重叠,但是在同一时刻只能执行一个任务;任务之间可能通过时间片轮转或事件驱动的方式切换执行,实现过多个任务间交替执行;并行并行指的是系统(或程序)同时执行多个任务或操作;在同一时刻执行多个任务;任务是真正同时执行的回调函数定义:一个函数被作为参数传递给另一个函数,以便在某个特定事件发生或异步操作完成时执行;缺点:回调地狱:多个异步操作嵌套在一起时,代码可能变得难以理解和维护,形成回调地狱;解决办原创 2023-11-24 19:10:30 · 203 阅读 · 0 评论 -
#Js篇:为什么要使用模块化?都有哪几种方式可以实现模块化,各有什么特点?
模块化可以通过封装实现命名空间隔离,避免全局命名冲突,确保不同模块之间的变量和函数名不会发生冲突。模块化提供了良好的依赖管理机制,使得项目中的各个模块之间的依赖关系清晰可见,方便维护和升级。模块化可以帮助开发者更好地组织代码,将代码拆分成独立的模块,提高代码的可维护性和可读性。模块化使得代码更易于复用。可以将一些通用的功能封装成模块,在不同的项目中重复使用。模块化可以支持异步加载,按需加载模块,提高页面加载速度和性能。原创 2023-11-24 15:33:22 · 126 阅读 · 0 评论 -
#Js篇:var、let和 const
---对于使用 const 声明的对象或数组,虽然不能重新赋值一个新的对象或数组给这个变量,但可以修改对象或数组的属性或元素。这是因为 const 保证的是变量指向的引用不变,而不是引用的值不变。5. 声明的变量不会成为全局对象的属性。6. 暂时性死区内访问会抛出错误。原创 2023-11-24 11:30:31 · 82 阅读 · 0 评论 -
#Js篇:JSON.stringify 、 toString()和String的区别
这个类似白名单的数组,只对对象的属性有效,对数组无效。原创 2021-04-24 10:59:09 · 1722 阅读 · 0 评论 -
#Js篇:防抖与节流
触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率。原创 2021-05-18 22:14:19 · 202 阅读 · 0 评论 -
#Js篇:包装对象的自定义方法
比如,我们可以新增一个double方法,使得字符串和数字翻倍。上面代码在String和Number这两个对象的原型上面,分别自定义了一个方法,从而可以在所有实例对象上调用。注意,最后一行的123外面必须要加上圆括号,否则后面的点运算符(.)会被解释成小数点。原创 2023-03-06 22:30:40 · 140 阅读 · 0 评论 -
#Js篇:Boolean 函数的类型转换作用
是因为false对应的包装对象实例是一个对象,进行逻辑运算时,被自动转化成布尔值true(因为所有对象对应的布尔值都是true)原创 2023-03-06 22:31:39 · 197 阅读 · 0 评论 -
#Js篇:Object.prototype.hasOwnProperty()和对象的存取器-用法介绍
上面代码中,对象obj自身具有p属性,所以返回true。toString属性是继承的,所以返回false。原创 2022-04-19 09:27:59 · 229 阅读 · 0 评论 -
#Js篇:判断数据类型的方法
利用这个特性,可以写出一个比typeof运算符更准确的类型判断函数。原创 2022-04-19 09:28:29 · 72 阅读 · 0 评论 -
#Js篇:es5特殊用法的学习
var 生命变量名相同的话 声明两次 第二次会覆盖掉第一次的赋值;var 变量存在变量提升单行注释 // ;多行注释/* */swithchswitch语句后面的表达式,比较时采用的是严格相等运算符,不会进行类型的转换var x =3 switch(x) { case 1: alert(1); break; case 2: alert(2) break; default: alert("ss") }三元运算符(条件)?表达.原创 2021-11-26 21:08:33 · 576 阅读 · 0 评论 -
#Js篇:Object对象怎么筛选出为空的属性
【代码】#Js篇:Object对象怎么筛选出为空的属性。原创 2022-04-24 22:12:23 · 887 阅读 · 0 评论 -
#Js篇:export & import、export default & import、exports & require的用法总结
众所周知:如果我们是export default的话,我们import的时候无需写{},直接进行导入就可以了,但是其实我们有多种导入选择。5、export可以向外暴露多个成员,同时,如果某些成员,在import导入时不需要,可以不在{ }中定义。4、使用export向外暴露的成员,只能使用{ }的形式来接收,这种形式,叫做【按需导出】6、使用export导出的成员,必须严格按照导出时候的名称,来使用{ }按需接收。7、使用export导出的成员,如果想换个变量名称接收,可以使用as来起别名。原创 2021-12-30 17:34:01 · 7528 阅读 · 0 评论