JavaScript
文章平均质量分 70
JavaScript相关内容
金乌Y
这个作者很懒,什么都没留下…
展开
-
【Javascript】 Promise 对象(二)
方法接受一个数组作为参数,数组的每个成员都是一个 Promise 对象,并返回一个新的 Promise 对象。的 Promise 对象,是在本轮“事件循环”(event loop)的结束时执行,而不是在下一轮“事件循环”的开始时。后,它的回调函数会接收到一个数组作为参数,该数组的每个成员对应前面数组的每个 Promise 对象。该方法接受一组 Promise 实例作为参数,包装成一个新的 Promise 实例返回。方法同样是将多个 Promise 实例,包装成一个新的 Promise 实例。原创 2024-03-14 09:44:24 · 1145 阅读 · 0 评论 -
【Javascript】 Promise 对象(一)
(1)对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。这也是Promise这个名字的由来,它的英语意思就是“承诺”,表示其他手段无法改变。(2)一旦状态改变,就不会再变,任何时候都可以得到这个结果。Promise对象的状态改变,只有两种可能:从pending变为fulfilled和从pending变为rejected。只原创 2024-03-13 14:49:53 · 919 阅读 · 0 评论 -
【Javascript】 Map 方法
它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。这就解决了同名属性碰撞(clash)的问题,我们扩展别人的库的时候,如果使用对象作为键名,就不用担心自己的属性与原作者的属性同名。方法,表面是针对同一个键,但实际上这是两个不同的数组实例,内存地址是不一样的,因此。同理,同样的值的两个实例,在 Map 结构中被视为两个键。原创 2024-03-12 10:32:14 · 944 阅读 · 0 评论 -
【JS】Promise.all实现所有接口加载完成loading关闭
将每个请求封装成promise对象,当请求到数据后都resolve出去,再调用Promsie.all方法将每个promise对象作为参数传入进去。这样每个api的promise对象状态都resolve“解决后”,就能在 Promise.all([p1,p2…p]).then中拿到所有api请求完成的状态,从而实现效果。原创 2024-03-12 10:30:45 · 526 阅读 · 0 评论 -
【JavaScript】Set方法
如果想在遍历操作中,同步改变原来的 Set 结构,目前没有直接的方法,但有两种变通方法。一种是利用原 Set 结构映射出一个新的结构,然后赋值给原来的 Set 结构;这里需要注意,Set 结构的键名就是键值(两者是同一个值),因此第一个参数与第二个参数的值永远都是一样的。它类似于数组,但是成员的值都是唯一的,没有重复的值。方法返回的遍历器,同时包括键名和键值,所以每次输出一个数组,它的两个成员完全相等。Set 结构的实例默认可遍历,它的默认遍历器生成函数就是它的。这表明,在 Set 内部,两个。原创 2023-12-19 09:59:06 · 962 阅读 · 0 评论 -
Mockjs 增、删、改、查(分页、多条件查询)
【代码】Mockjs 增、删、改、查(分页、多条件查询)原创 2023-12-12 14:06:06 · 856 阅读 · 0 评论 -
使用Mockjs模拟(假数据)接口(axios)
Mock.js官网mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。原创 2023-12-11 17:56:05 · 1298 阅读 · 0 评论 -
简单封装axios(可配合mockjs使用)对请求方法进行二次封装
安装axios:npm install axios --save 。二、简单封装axios(可配合mockjs使用) 在src/utils文件夹下新建axios.js文件。三、对请求方法进行二次封装:1、在src中新建api文件。2、在api文件夹中新建文件,最好每个页面的接口写一个文件。四、在vue文件中使用接口原创 2023-12-11 17:54:04 · 469 阅读 · 0 评论 -
prototype、__proto__、constructor、原型、原型链
所独有的,由于函数也是一种对象,所以函数也拥有。原创 2023-12-10 11:06:09 · 496 阅读 · 0 评论 -
Javascript 前端分页——根据页面大小(pageSize)和总行数(total)计算总页面数(totalPage)
一:总行数取余页面大小,等于0,则页数为整页数,否则有余数,则页数为正页数加一。二:总页数=(总数-1)/每页数量+1。三:总页数=(总数 + 每页数量 - 1)/ 每页数量。四:使用Math.ceil()函数,进1法取整。Math.ceil(total / pageSize)原创 2023-12-08 17:35:50 · 2102 阅读 · 0 评论 -
函数声明与函数表达式习题
我们整体分析代码的执行过程通过函数表达式定义变量foo并赋值为一个匿名函数,该函数在被调用时打印"foo1"。接着,通过函数表达式重新定义变量foo,赋值为另一个匿名函数,该函数在被调用时打印"foo2"。使用函数声明定义了两个名为foo的函数。函数声明会在作用域中进行提升。后面的会覆盖前面的,由于声明从一开始就提升了,而又执行了两个赋值操作,所以此时foo是第二个赋值的函数。然后调用foo(),输出"foo2"。再调用foo(),也输出"foo2"。原创 2023-12-01 10:46:02 · 1171 阅读 · 0 评论 -
函数声明与函数表达式
接下来的语句是函数quack的声明,因为已经处理过了,所以浏览器跳过声明,接着执行后面的条件语句。找到函数声明时,浏览器创建相应的函数,并将得到的函数引用赋给与函数同名的变量。如果语句以function关键字开头,那么它就是一个函数声明,否则就是一个函数表达式。在语句(如赋值语句)中,以这样的方式使用关键function时,创建的是函数表达式。从更高的角度来看,函数声明对于创建独立的函数很有用,但是函数表达式作为回调很好。处理所有的函数声明后,浏览器回到代码开头,开始按从头到尾的顺序执行代码。原创 2023-11-28 17:27:14 · 1180 阅读 · 0 评论 -
JS 防抖封装方法
【代码】JS 防抖封装方法。原创 2023-11-18 15:11:19 · 175 阅读 · 0 评论 -
JS 日期格式化
【代码】JS 日期格式化。原创 2023-11-18 15:11:50 · 147 阅读 · 0 评论 -
JS 深度拷贝封装方法
【代码】JS 深度拷贝封装方法。原创 2023-11-22 11:25:22 · 124 阅读 · 0 评论 -
JS 判断元素是否为空
【代码】JS 判断元素是否为空。原创 2023-11-22 11:25:43 · 246 阅读 · 0 评论 -
JS判断是否存在某个元素(includes、indexOf、find、findeIndex、some)(every 数组内所有值是否相同)
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。some() 方法会为 array 中的每个元素调用 callbackfn 函数,直到 callbackfn 返回 true,或直到到达数组的结尾。array.findIndex() 和 array.find(),这两个方法都可以发现NaN,弥补了array.indexOf()的不足。返回第一个符合条件的数组元素的位置,如果所有元素都不符合条件,则返回-1。原创 2023-11-18 14:29:30 · 1104 阅读 · 0 评论 -
解决因跨域导致使用a标签下载文件download属性失效无法自定义命名的问题
在使用a标签下载文件时,download属性可以更改下载的文件名。但是当a标签的下载链接时,download属性将不会生效,原因是浏览器无法获取到文件,不能对他进行更改。在这种情况下如果你是下载浏览器无法解析的文件,例如.exe,.xlsx..那么浏览器也会自动下载,但是如果你使用浏览器可以解析的文件,比如.txt,.png....浏览器就会采取预览模式,无法直接下载。html5 新特性a标签download属性只支持谷歌和火狐。原创 2023-11-17 15:50:46 · 3071 阅读 · 1 评论 -
为什么前端数值精度会丢失?(BigInt解决办法)
数值计算、保留指定小数位、接口返回数值过大等等,这些操作都有可能导致原本正常的数值在JavaScript中确表现得异常(即精度丢失)。使用整数进行计算(先放大再缩小)。在处理需要高精度计算的场景中,可以使用一些专门的库或工具。例如,JavaScript中的Decimal.js、Big.js或BigNumber.js等库提供了高精度的数学计算功能,可以避免精度丢失的问题。超过最值时,接口以字符串的形式返回对应的值。原创 2023-10-30 17:50:12 · 2503 阅读 · 0 评论 -
正则表达式—JS数字校验:限制小数点前、后位数
({1,2},代表小数允许有2位) 的地方,文章的最后附带一个完整的工具方法,通过了负数、正数校验,可以分别限制整数位数和小数位数,以下加粗部分是修改。({0,8},代表整数位允许有9位数字,因为前面还有单独的一个数字) 和。转载 2023-07-18 14:49:04 · 2486 阅读 · 0 评论 -
JavaScript 数组的concat()、slice()和splice()
文章介绍了数组的三个操作方法concat()slice()和splice()。concat()和slice()方法都不会影响原数组,会在原数组上构建出一个新数组。其中concat()方法在原数组末尾添加所传的数组项(简单点看有类似于push()方法),构建一个新数组;slice()方法可以从指定的位置开始删除指定的数组项,并且将删除的数组项构建成一个新数组。splice()方法就更强大了,可以对一个数组做删除、插入和替换。而且splice()方法还会影响原数组,并且将返回的值构建出一个新数组。转载 2023-06-20 15:03:48 · 660 阅读 · 0 评论 -
JavaScript 如何对大量的 if-else 判断进行优化
在讲优化方案前先来了解常见的if-else结构类型。所谓的【面条代码】,常见于对复杂业务流程的处理中。内容长结构乱嵌套深主流的编程语言均有函数或方法来组织代码。对于面条代码,不妨认为它就是满足这几个特征的函数吧。if...if型、型。if...if。原创 2023-05-30 16:05:35 · 3145 阅读 · 0 评论 -
JS高级函数的增强使用、纯函数、柯里化、组合函数的详细介绍-及手写柯里化、手写组合函数
JS高级函数的增强使用、纯函数、柯里化、组合函数的详细介绍-及手写柯里化、手写组合函数转载 2023-05-29 10:57:28 · 96 阅读 · 0 评论