数组扁平化
数组的扁平化:就是将一个嵌套多层的数组转换为一维数组 例如:数组 [1, 2, [3, 4, [5, 6], 7], 8] 扁平化后为 [1, 2, 3, 4, 5, 6, 7, 8] 解决的方案有多…
this 全面解析
一、关于 this this 关键字是 JavaScript 中最复杂的机制之一。它是一个很特别的关键字,被自动定义在所有函数的作用域中。 消除误解: this 不指向函数自身 this 不指向函数的…
Promise(六)
七、Promise 局限性 7.1 顺序错误处理 Promise 的设计局限性造成了一个很容易让人中招的陷阱,即 Promise 链中的错误很容易被无意中忽略掉。 如果构建了一个没有错误处理函数的 P…
微信小程序商品加入购物车(完整解决方案)
项目说明 微信小程序中实现的添加商品到购物车完整功能,包含商品 Mock 数据、分类和商品滚动联动、添加多属性商品、购物车小球动画、商品列表页和详情页购物车数据同步、本地缓存购物车商品等。 下载地址:…
JS中浮点数精度问题
问题描述:在使用JS过程中,经常会涉及到数值计算操作,比如在商品加入购物车时计算商品价格等。计算时经常会出现精度问题,比如:24.9 * 1.2 = 29.879999999999995 原因 Jav…
微信小程序使用new Date()获取时间iPhone 8比安卓手机多8个小时问题
问题描述:小程序中实现倒计时功能,由后端传到前端的倒计时结束时间转换为时间戳,再减去当前时间戳实现倒计时,在安卓手机和微信开发工具中都没有问题,但是在 iPhone 8 中会多8个小时,后端传的时间格…
Promise(五)
六、Promise API 概述 6.1 new Promise(..) 构造器 构造器 Promise(..) 必须和 new 一起使用,并且必须提供一个函数回调。这个回调是同步的或立即调用的。这个…
Promise(四)
五、Promise 模式 原生 ES6 Promise 支持了两个模式:Promise.all([ .. ]) 和 Promise.race([ .. ])(ES2020 新增了一个模式:Promis…
Promise(三)
四、Promise 链式流 4.1 链式流程控制 Promise 并不只是一个单步执行操作的机制,我们可以把多个 Promise 连接到一起以表示一系列异步步骤。 这种方式可以实现的关键在于以下两个 …
Promise(二)
二、检测 Promise 类型 在 Promise 领域,一个重要的细节是如何确定某个值是不是真正的 Promise。或者更直接地说,它是不是一个行为方式类似于 Promise 的值? 既然 Prom…