javascript
2022-03-07
73
开汽车的人往往不了解汽车的构造,但是深入了解汽车的构造,可能会有如虎添翼的效果前言随着 vue3.x 的消息越来越多,proxy 的讨论也。相对于 Object.defineProperty ,proxy 有什么区别,有什么优势,以及可以应用在什么地方。该文章就简单的介绍下Object.defineProperty讲 proxy 之前,先回顾下 Object.defineProperty 。大家都知道,vue2.x 以及之前的版本是使用 Object.defineProperty 实现数据的双向绑定的,至
2022-03-07
370
最近在做一个项目,Ajax从后台返回数据后,前端用js处理时,发现无论如何使用sort排序,最终要么是没改变,要么只改变最后一次的排序,折腾了很久,最后查了查资料才发现,js中区分浅拷贝和深拷贝。123456789101112131415161718 var provinceConfirmedCount = data; var provinceDeadCount = data; var provinceCuredCount = data; provinceConfirmedCou
2022-03-07
160
发现一个简单的方法,可以在不依赖第三方库的情况下,在 Javascript 应用程序中生成 UUID。123456function uuid() { var temp_url = URL.createObjectURL(new Blob()); var uuid = temp_url.toString(); // blob:https://xxx.com/b250d159-e1b6-4a87-9002-885d90033be3 URL.revokeObjectURL(temp_url); retu
2022-03-07
122
js数字计算丢失精度问题解决方案计算机世界里,数字的计算,所有语言都会丢失精度,所以没有万全之策,但在人力范围内,尽量解决。网上找了一部分代码,发现是有问题的,比如:12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455//加法 Number.prototype.myAdd = function(arg2) { var arg1 = this; i
2022-03-07
37
很多编程语言里都有sleep(),delay()等方法,它能让我们的程序不那么着急的去执行下一步操作,而是延迟、等待一段时间。软件开发中经常会遇到需要这样的函数,比如等待几分钟去检查某一事件是否发生。JavaScript里有setTimeout()方法来实现设定一段时间后执行某个任务,但写法很丑陋,需要提供回调函数:setTimeout(function(){ alert("Hello"); }, 3000);JavaScript Promise API是新出现了一个API,借助 Promise,我们可以
2022-03-07
47
我会经常的关注各种浏览器里新JavaScript API的发展,其中一种API就是电池状态信息API。之前我曾写过一篇关于电池状态信息API的文章,那时候这个API对于各种浏览器来说还是个新鲜事物。然而,随着技术的发展,这个电池状态信息API有了变化升级,它现在变成了基于promise方式的API,你可以在最新版的谷歌浏览器里使用它。下面让我们来看看这个最新的API的用法!这个API仍然是navigator对象提供的,但现在它叫做getBattery:1navigator.getBattery().the
2022-03-07
37
我们知道,JavaScript 这门语言正在高速发展中。伴随着 ES2020,又有很多很棒的功能加入。老实说,您可以通过许多不同的方式编写代码。实现同样一个功能,有的代码很长而有的却很短。你可以通过一些小技巧来让你的代码更干净清晰。下面这些小技巧肯定对你接下来的开发工作有所用处。函数参数验证器JavaScript 允许你对函数参数设置默认值。通过这个特性,我们可以实现一个小技巧来验证函数参数。12
2022-03-07
48
前言函数防抖和节流,这个知识点面试中被问的概率比较高。防抖非立即执行版防抖可以理解为n时间后执行一次函数。立即执行版防抖是立即执行一次函数。防抖的实现1234567891011121314151617181920212223242526272829/** * @desc 函数防抖 * @param {Function} func 函数 * @param {Number} wait 延迟执行毫秒数 * @param {Boolean} immediate true 表示立即执行,false 表示非立即执行