JavaScript
文章平均质量分 74
码农键盘上的梦
愿当年热情还在!
printf("hello,world!");
展开
-
Promise与 async和await
主要用来实现对异步任务的封装,从而实现异步任务具备同步执行的顺序。诺言构造时接受一个回调函数作为参数,该回调函数用来定义对应的异步任务,同时回调函 存在参数,两个参数分别是。reject代表当异步任务执行失败时需要向外界同步的信息。直接修饰异步执行的任务对应的函数,但是修饰的函数返回值必须是Promise对象。Promise对象,如果想要获取该函数内部返回的数据,此时需要调用。语法中新增的一个类,用来创建一个诺言对象。方法用来返回诺言成功时对应的数据,修饰的函数,最终的返回结果是一个。原创 2021-12-28 15:00:11 · 400 阅读 · 0 评论 -
js超过Number最大值该如何处理(超大数 运算失去精度)
在JavaScript中,Number类型使用的是双精度64位浮点数(IEEE 754标准),其最大安全整数值为2^53 - 1,即,可以通过来获取。如果超过这个值,可能会导致计算误差或不准确的结果。当需要处理超过。原创 2024-08-22 11:18:28 · 714 阅读 · 0 评论 -
javascript使用a标签实现文件下载
前端利用a标签实现文件(图片)下载,也就是教大家利用a标签或者是 window.open() 来实现下载功能。原创 2024-04-19 11:25:38 · 2876 阅读 · 0 评论 -
前端实现复制粘贴功能
随着技术的发展,我们有理由相信,未来会有更多简单、强大、兼容性更好的API出现。但在那之前,让我们拥抱,享受它带来的便利,同时也不忘那些曾经陪伴我们度过难关的老方法。毕竟,try {// 使用现代 API 尝试复制return;// 如果成功,直接返回// 降级方案// 尝试执行复制操作if (!success) {throw new Error('无法复制文本');// 清理console.error('复制失败:', err);原创 2024-03-13 16:20:07 · 1086 阅读 · 0 评论 -
10 个JavaScript技巧
无论你是刚刚开始学习还是已经实践使用中,我想,你都可以从中学习到一些新的知识,那么,我们现在开始吧。NaN是 JavaScript 中唯一不等于自身的值或者也可以使用全局函数 isNaN() 来检查一个变量是否为 NaN(非数字)。以上就是我今天想与你分享的10个JS技巧,希望你能从中学到一些新的知识,帮助你提升工作效率,享受更加美好的生活。可以使用scrollTo()方法滚动到页面上的特定位置。使用逻辑或运算符 (||) 为你的应用程序设置默认值。不使用临时变量交换 a 和 b 值的示例。原创 2024-03-04 14:25:13 · 411 阅读 · 0 评论 -
JavaScript 的10个好用的开发技巧
JavaScript 是前端开发中的必备语言。但是我发现很多同学对于 JavaScript 的技巧使用却并不熟悉。所以,今天咱们就来分享一下开发技巧,帮你更好地使用 JavaScript,提升开发效率!原创 2024-03-01 11:00:13 · 476 阅读 · 0 评论 -
vue处理响应式数据,是Proxy性能好?还是defineProperty性能好?
首先,Proxy和defineProperty是两种不同的机制,用于实现JavaScript的元编程(metaprogramming)功能。defineProperty是ES5引入的一个特性,用于在一个对象上定义一个新的属性,或者修改一个已经存在的属性。它通过修改对象的属性描述符(property descriptor)来实现对属性的控制,例如可以定义属性是否可读写、是否可枚举、是否可配置等。原创 2024-02-27 09:37:14 · 1471 阅读 · 1 评论 -
改变this指向之call、appay 和 bind
在JavaScript中,callapply和bind都是用来改变函数的执行上下文(即函数中的this关键字所指向的对象)的方法。原创 2024-02-26 14:38:03 · 617 阅读 · 0 评论 -
JavaScript 中的双等号(==)和三等号(===)有何不同?何时使用它们?
在JavaScript中,双等号(==)和三等号(===)用于比较两个值是否相等。原创 2024-02-20 11:29:02 · 2127 阅读 · 0 评论 -
Vue3在点击菜单切换路由时,将ElementPlus UI库中el-main组件的内容滚动恢复到顶部
在网上搜很多都是在route.js中的router.beforeEach中使用window.scrollTop(0,0) 或 window.scrollTo(0,0) 滚动,但是我使用无效,于是使用操作dom的方法,如下。在回调函数中处理路由变化的逻辑 使其滚动到顶部。最后,在组件销毁前,我们使用。路由时,将页面滚动到顶部,布局如下,使用ui组件为element-plus。,这是一个响应式的路由对象。当路由发生变化时,回调函数将被调用,其中的。参数表示要切换到的路由对象,,当路由变化后滚动到顶部。原创 2024-01-17 18:13:59 · 943 阅读 · 0 评论 -
Vue3实现PDF文件预览 (低版本浏览器兼容)
/ 这里必须使用异步去引用pdf文件,直接去import会报错,也不知道为什么// 此文件位于public/testPdf.pdf// // 仅加载第一页 注释 取消页码切换// 加载pdf所有页})// 加载pdf的某一页// 缩放比例1;// 获取窗口大小// 这里transform的六个参数,使用的是transform中的Matrix(矩阵)// 进行渲染resolve();});});});原创 2024-01-14 15:22:08 · 8636 阅读 · 4 评论 -
前端出现率高的九种设计模式
说到设计模式,大家想到的就是六大原则,23种模式。这么多模式,并非都要记住,但作为前端开发,对于前端出现率高的设计模式还是有必要了解并掌握的,浅浅掌握9种模式后,整理了这份文章。那么,我们先了解六大原则转载 2024-01-12 08:47:46 · 102 阅读 · 0 评论 -
8 个关于 Promise 的高级用途的技巧
在js项目中,promise的使用应该是必不可少的,但我发现在同事和面试官中,很多中级以上的前端仍然坚持promiseInst.then()、promiseInst.catch()、Promise等常规用法等等。如有雷同,纯属巧合。catch 函数是在 then 函数返回的处于拒绝状态的 Promise 上调用的,因此它的错误自然可以被捕获。原创 2024-01-03 15:59:12 · 900 阅读 · 0 评论 -
js中for...in 与 for...of
for...in循环遍历的是对象的键值对,因此返回值是对象的键名;而for...of循环遍历的是对象的值,因此返回值是对象的键值。需要注意的是,for...of无法遍历普通对象(Object)的属性,需要将它们转换为可迭代对象才能使用for...of进行遍历。for...in循环遍历的是对象的属性名,而for...of循环遍历的是数据结构的对象,比如数组,字符串,Map,Set等。它遍历的是对象的值,而不是属性。总之,for...in循环遍历的是对象的属性名,for...of循环遍历的是对象的值。原创 2023-11-13 15:34:06 · 237 阅读 · 0 评论 -
一篇文章搞明白js运行机制——事件循环
宏任务(Macrotask)和微任务(Microtask)是事件循环中的两种不同类型的任务。宏任务包括整个脚本代码、setTimeout、setInterval、setImmediate、I/O、UI 渲染等。微任务包括Promise 的回调函数、process.nextTick 等。它们之间的区别在于执行时机和执行顺序。每次事件循环迭代时,都会执行一个宏任务和所有的微任务,但是宏任务的执行会打断微任务的执行。因此,微任务的执行优先级高于宏任务。事件循环是 JavaScript 的核心执行机制。原创 2023-11-13 15:01:28 · 521 阅读 · 0 评论 -
Vue 下载本地静态资源static文件夹
项目需要下载本地的docx文档,文档是放在本地的没有在服务器,所以需要下载本地静态资源文件,开始把文件放在了这里src目录下的assets资源文件下。下载报错 找不到文件路径查找原因是因为项目用的是vue-cli3, 在打包的时候并不知道会把assets。你可能在输入路径的时候会提示你是src,而不直接是static,但是你还是要直接输入static这个路径。下的文件打包在哪里,但是在build的时候发现在根目录下的文件是打包在当前路径下的。原创 2022-03-22 14:06:41 · 7600 阅读 · 1 评论 -
前端开发工具函数:uuid生成、解析URL参数、金额格式化、下载文件
{string} thousands_sep:千分位符号。不过要吐槽一句的是,uuid一般应由后端来进行生成。{number} decimals:保留几位小数。{string} dec_point:小数点符号。{number} number:要格式化的数字。fileName 文件名。params 请求参数。原创 2023-10-19 14:36:22 · 652 阅读 · 0 评论 -
ES知识点全面整理
● 我们从很多年前就知道 ES6, 也就是官方发布的 ES2015● 从 2015 年开始, 官方觉得大家命名太乱了, 所以决定以年份命名● 但是大家还是习惯了叫做 ES6, 不过这不重要● 重要的是, ES6 关注的人非常多, 大家也会主动去关注● 但是从 2016 年以后, 每年官方都会出现新的语法, 那么大家又有多少关注呢。原创 2023-10-10 17:13:13 · 448 阅读 · 0 评论 -
文本溢出显示省略
在前端中,文本溢出显示省略号的方案有以下两种:一、使用CSS中的text-overflow属性:这个属性可以用来指定文本溢出时的显示方式。设置为ellipses(省略号)即可让文本溢出时显示省略号。原创 2023-03-22 09:39:28 · 172 阅读 · 0 评论 -
H5移动端附件下载
【代码】H5移动端附件下载。原创 2023-08-14 11:08:25 · 757 阅读 · 0 评论 -
前端实现文件预览功能
需求:实现一个在线预览pdf、excel、word、图片等文件的功能。介绍:支持pdf、xlsx、docx、jpg、png、jpeg。以下使用Vue3代码实现所有功能,建议以下的预览文件标签可以在外层包裹一层弹窗。原创 2023-08-14 09:54:04 · 625 阅读 · 0 评论 -
HTML页面生命周期详解
在使用vue的时代本次项目有个需求,就是需要在静态资源未加载时获取当前页面的访问路径,所以需要对html页面的生命周期要有所了解。本次讲讲HTML页面的生命周期事件,希望对大家有所帮助。如果文中有不对、疑惑的地方,欢迎在评论区留言指正🌻页面生命周期事件:当 DOM 准备就绪时,document 上的 DOMContentLoaded 事件就会被触发。在这个阶段,我们可以将 JavaScript 应用于元素。诸如或之类的脚本会阻塞 DOMContentLoaded,浏览器将等待它们执行结束。原创 2023-08-10 14:30:58 · 1254 阅读 · 0 评论 -
uni-app使用vue语法进行开发注意事项
uni-app 参考这个思路,为 uni-app 提供了条件编译手段,在一个工程里优雅的完成了平台个性化实现。在uni-app中,事件修饰符与Vue框架中使用的事件修饰符基本相同。你可以使用事件修饰符来对事件进行额外的处理或修改事件的默认行为。条件编译APP-PLUS包含APP-NVUE和APP-VUE,APP-PLUS-NVUE和APP-NVUE没什么区别,为了简写后面出了APP-NVUE;条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同平台。:事件只会触发一次。原创 2023-08-10 08:56:57 · 2209 阅读 · 0 评论 -
js判断判断上传文件的类型是否为 图片
然后,使用startsWith方法判断类型是否以’image/'开头,如果是,则表示文件类型为图片,返回true;上面的代码中,首先通过getElementById获取到一个file input元素,然后获取用户选择的文件对象,假设它是第一个文件,然后调用isImage函数来判断文件类型是否为图片,并将结果输出到控制台。可以使用JavaScript的File对象的type属性来判断文件的类型是否为图片。可以在需要判断文件类型的地方调用这个函数,传入需要判断的文件对象,来进行判断。原创 2023-08-07 16:04:00 · 2373 阅读 · 0 评论 -
elementUi select下拉框触底加载异步分页数据
通过以上步骤,我们就可以实现当下拉框触底时自动加载下一页数据的效果。你可以根据自己的需求,调用相应的接口请求下一页数据并展示到下拉框中。在Element UI中,可以通过监听select下拉框的。事件来实现触底加载下一页的效果。原创 2023-08-07 10:53:52 · 3367 阅读 · 4 评论 -
vue把页面中某部分的dom元素生成图片
在Vue中可以使用将某个部分生成为图片(生成二维码)。原创 2023-07-10 14:26:12 · 2656 阅读 · 2 评论 -
JavaScript 中的class类
JavaScript 中的类是一种用于创建对象的模板或蓝图。它们提供了一种简单而优雅的方式来组织代码,并使代码可重复使用和可维护。使用类,可以定义对象的属性和方法,从而可以在多个地方实例化该类以创建新的对象。类是一种面向对象的编程概念,它内置于许多面向对象的编程语言中。具体来说,类是用于创建对象、初始化数据和定义函数的模版,是一种以可重复使用的格式组织某类对象的信息的方法。通过使用类,我们可以创建所述类的特定实例并访问特定类的数据和函数。举个例子,假如你想创建猫、狗和兔子的对象。原创 2023-06-09 16:38:12 · 737 阅读 · 0 评论 -
21 个简单实用的 JavaScript 代码技巧
基本上,设备类型是通过识别浏览器的userAgent来确定的。cookie 可能是我见过的最糟糕的 API,它太难用了,我们不得不重新封装它以最大限度地提高我们的开发效率。你一定遇到过这样的场景,需要全屏播放视频,在浏览器中全屏打开页面。是的,这个和第4点一起使用,你也会有退出浏览器全屏状态的场景。当然,如果知道文档的高度,也可以平滑滚动到页面底部。太喜欢这种方式了,简单易懂。原创 2023-05-04 16:33:45 · 680 阅读 · 0 评论 -
12 个非常实用的 JavaScript 函数
你的网站是否需要生成随机颜色?下面一行代码就可以实现。数组重排序对数组的元素进行重新排序是一项非常重要的技巧,但是原生 Array 中并没有这项功能。复制到剪切板复制到剪切板是一项非常实用且能够提高用户便利性的功能。检测暗色主题暗色主题日益普及,很多用的都会在设备中启用案模式,我们将应用程序切换到暗色主题可以提高用户体验度。滚动到顶部将元素滚动到顶部最简单的方法是使用。设置为可以滚动到顶部;设置为可以开启平滑滚动。滚动到底部与滚动到顶部一样,滚动到底部只需要原创 2023-04-03 16:49:58 · 440 阅读 · 0 评论 -
30 个常用 JavaScript 知识点总结
30 个常用 JavaScript 知识点总结原创 2023-03-27 11:23:18 · 1179 阅读 · 0 评论 -
JavaScript深浅拷贝
在前端开发中,有时我们需要对一个复杂的数据结构进行变换,例如将一个嵌套的对象转换为数组或将一个数组转换为嵌套的对象。深拷贝是对对象或数组进行递归复制,复制整个对象的所有层次,这样就可以避免对象中的引用类型的属性共享的问题。浅拷贝是对对象或数组进行浅层复制,只复制对象的一层属性,当复制的对象中有引用类型的属性时,复制出来的对象和原对象会共享引用类型的属性。通过展开一个对象,可以将其属性复制到新的对象中。总之,在前端开发中,深拷贝是非常常见的场景,可以帮助我们处理复杂的数据结构,并保持代码的稳定性和可维护性。原创 2023-03-16 09:06:00 · 557 阅读 · 0 评论 -
Javascript中的几种继承
这是一个非常经典的继承方案, 他是结合了 寄生继承 和 基础组合继承 两者创造出来的. 并且解决了组合继承中重复调用构造函数的尴尬, 同时也很好的避免了寄生继承中的原型链污染, 是我个人觉得非常优秀得以中继承方案, 不知道是哪一个大神想出来的方案.在 JS 中, 每一个对象都有一个自己的原型对象, JS 内的继承就是依赖这个原型对象, 而且原型对象也有自己的原型对象, 就是这一个一个的原型对象组成了原型链, 这就是继承的核心.这个时候, 不管这个老父亲有多少个儿子, 他的儿子都是可以住在这个房子里面的。原创 2023-03-14 15:03:41 · 216 阅读 · 0 评论 -
前端实现下载文件的各种方式
上面的方案这么多,其实最终还是落到a标签上,所以不管是通过浏览器的内置行为进行下载,还是通过ajax进行下载,文件下载的最终还是浏览器的行为。原创 2023-02-27 10:17:17 · 6328 阅读 · 5 评论 -
2023年最新最全 VSCode 插件推荐
Visual Studio Code 是由微软开发的一款免费的、针对于编写现代Web和云应用的跨平台源代码编辑器。它包含了一个丰富的插件市场,提供了很多实用的插件。下面就来分享 2023 年前端必备的 VS Code 插件!原创 2023-02-24 08:56:25 · 1162 阅读 · 0 评论 -
使用天地图报错Error in v-on handler: “TypeError: Cannot read property ‘_tdt_events‘ of null
vue使用天地图报错Error in v-on handler: “TypeError: Cannot read property ‘_tdt_events‘ of null。当我们调用地图时需要使用。原创 2023-02-14 10:18:56 · 2730 阅读 · 0 评论 -
Vue中使用天地图
天地图JavaScript API 4.0是一套符合HTML5.0规范的的应用程序接口,以HTML 5.0的形式提供各种地图服务和数据,如。原创 2023-02-14 09:54:32 · 14041 阅读 · 25 评论 -
前端JavaScript小小面试题
JavaScript是一种通过原型实现继承的语言与别的高级语言是有区别的,像java,C#是通过类型决定继承关系的,JavaScript是的动态的弱类型语言,总之可以认为JavaScript中所有都是对象,在JavaScript中,原型也是一个对象,通过原型可以实现对象的属性继承,JavaScript的对象中都包含了一个” prototype”内部属性,这个属性所对应的就是该对象的原型。同步调用是三者当中最简单的,而回调又常常是异步调用的基础,因此,下面我们着重讨论回调机制在 不同软件架构中的实现。原创 2023-01-31 10:14:12 · 359 阅读 · 0 评论 -
分享5个实用JS库
前言作为一名前端开发者,我通过这些JavaScript库大大提高了自己的效率,比如格式化日期、处理URL参数、调试手机网页等。因此,我想将这些好用的库分享给你们,也希望可以帮助到你们。原创 2023-01-13 09:15:55 · 1712 阅读 · 0 评论 -
15个有用的JavaScript技巧
今天这篇文章,是我从网络上整理的一些常见的 JavaScript Tips。我在我的项目中使用了所有这些实用技巧,今天我想把它们分享给你,希望也能够帮助到你。您可以使用 MouseEvent 对象的 clientX 和 clientY 属性的值来获取有关当前鼠标位置坐标的信息。您可以结合扩展运算符使用 Math.min() 或 Math.max() 来查找数组中的最小值或最大值。在 console.log() 中,将参数括在花括号中,以便您可以同时看到变量名和变量值。columns 表示包含列名称的数组。原创 2023-01-04 09:25:14 · 340 阅读 · 0 评论 -
50个超级有用的JavaScript单行代码
它们也是使用该语言在最新版本中为我们提供的所有功能来解决问题的优雅方式。使用 Math.random(),你可以得到一个 0-1 的随机数,并将它与 0.5 进行比较,有一半的概率得到一个真值或假值。我们可以使用 Array.sort() 和 Array.join() 方法来检查两个数组是否包含相同的值。我们可以用数学表达式来判断经过的时间是否小于或等于13小时,从而判断是“上午”还是“下午”。我们可以用数学表达式来判断经过的时间是否小于或等于13小时,从而判断是“上午”还是“下午”。原创 2022-12-28 14:37:12 · 5292 阅读 · 2 评论