Js
YaaLee_
逝者如斯夫,不舍昼夜
展开
-
js将后端返回的blob请求下载
【代码】js将后端返回的blob请求下载。原创 2024-04-22 17:30:27 · 564 阅读 · 1 评论 -
js 复制图片至剪贴板(原生js,可复制word等、不可微信)
【代码】js 复制图片至剪贴板(原生js,可复制word等、不可微信)原创 2022-11-18 16:38:26 · 2258 阅读 · 1 评论 -
postMessage 全局传递数据
【代码】postMessage 全局传递数据。原创 2022-11-18 16:32:57 · 365 阅读 · 0 评论 -
js 数组按字母排序
排序结果为原创 2022-06-08 10:53:51 · 1000 阅读 · 0 评论 -
利用html2canvas导出图片(html结构导出)
首先需要安装插件npm install html2canvas导入插件:import html2canvas from 'html2canvas'事件:downloadImg('jpg')downloadImg('png')逻辑:// 下载图片downloadImg (type) { html2canvas(document.querySelector('需导出的结构类名')).then(canvas => { const url = canvas.toDataUR原创 2022-05-18 15:10:52 · 627 阅读 · 0 评论 -
解决 iframe嵌入后页面全屏插件(screenfull)报错的问题(fullscreen error)
在使用全屏插件screenfull的时候,有时候会遇到类似下面的报错:解决方式:在iframe中添加属性allowfullscreen="true"解决问题<iframe allowfullscreen="true" src="*****" frameborder="0" style="width: 100%; height: calc(100vh - 115px);"></iframe>...原创 2022-01-14 13:46:49 · 3181 阅读 · 1 评论 -
Js数组排序方法(sort)失效解决方法
在平时进行数组排序时,常用的数组排序方法sort有时候并没有起到排序的作用,例如:const arr = [1,5,2,16,7]console.log(arr.sort())打印结果为:很明显,sort并没有起到排序的作用,原因就在于sort()中没有传参,那么默认就是按照数组每个元素的 ASCII 字符顺序进行升序排列,正确方案:const arr = [1,5,2,16,7]arr.sort(function (a, b) { // 对sort方法进行重写,本质是冒泡排序 retu原创 2021-12-29 10:58:29 · 5878 阅读 · 0 评论 -
npm install卡住问题解决
配置淘宝镜像下载1.切换下载源路径npm config set registry https://registry.npm.taobao.org 2.检查是否配置成功npm config get registry 3.初始化npm install原创 2021-12-05 11:15:29 · 809 阅读 · 0 评论 -
打包下载(批量下载)
打包插件:npm i --save jszip@2.4.0功能区:// 下载打包功能saveAs (blob, fileName) { console.log(blob, fileName) var link = document.createElement('a') link.download = fileName link.href = URL.createObjectURL(blob) document.body.appendChild(link) link.clic原创 2021-11-25 10:58:42 · 899 阅读 · 0 评论 -
单文件下载
// row为表格当前行信息// clientId 为权限特有iddownloadFile (row) { const hide = this.$message.loading('下载中', 0) const link = document.createElement('a') link.href = `/sys/file/${row.file_id}?jwt=${this.tokenNoBearer}&clientId=${this.clientId}` // file_id 文件原创 2021-11-25 10:56:38 · 236 阅读 · 0 评论 -
js页面跳转
const link = document.createElement("a")link.href = `/sys/file/preview/${v.fileId}?jwt=${this.token}&clientId=${this.clientId}`link.target = "_blank"document.body.appendChild(link)link.click()document.body.removeChild(link)原创 2021-10-14 15:23:37 · 415 阅读 · 0 评论 -
substr和substring的区别
相同点:当有一个参数时,两者的功能是一样的,返回从start指定的位置直到字符串结束的子串var str = "hello Tony";str.substr(6); //Tonystr.substring(6); //Tony不同点:有两个参数时(1)substr(start,length) 返回从start位置开始length长度的子串“goodboy”.substr(1,6); //oodboy【注】当length为0或者负数,返回空字符串(2)substring(star原创 2021-10-13 16:52:00 · 146 阅读 · 0 评论 -
导入excel表格(随机表头)
<a-upload accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel":beforeUpload="beforeUpload" @change="handleFileChange"> <a-button type="primary">导入Excel</a-button></a-upload>原创 2021-10-11 19:30:55 · 160 阅读 · 0 评论 -
moment 时间类型的转换
初始化为当前时间:let now = moment();等价于 moment(new Date());使用时间戳初始化:moment(number); // number为毫秒moment.unix(number); //number为秒 使用JS Date对象初始化let date = new Date();moment(date);moment对象转换成时间戳let time = moment.valueOf()把时间戳转换为指定时间样式new Date(new Date(原创 2021-09-29 17:44:50 · 6865 阅读 · 1 评论 -
网络视频无法快进无法选中进度条
1原创 2021-09-26 08:39:34 · 9773 阅读 · 4 评论 -
Promise all的使用
Promise.all(iterable) 方法返回一个 Promise 实例,此实例在 iterable 参数内所有的 promise 都“完成(resolved)”或参数中不包含 promise 时回调完成(resolve);如果参数中 promise 有一个失败(rejected),此实例回调失败(reject),失败原因的是第一个失败 promise 的结果。var promise1 = Promise.resolve(3);var promise2 = 42;var promise3 =原创 2021-09-15 13:50:22 · 140 阅读 · 0 评论 -
IP三次握手与四次挥手
三次握手建立连接阐述:第一次握手:客户端要和服务端进行通信,首先要告知服务端一声,遂发出一个SYN=1的连接请求信号,“服务端哥哥,我想给你说说话”。第二次握手:当服务端接收到客户端的连接请求,此时要给客户端一个确认信息,“我知道了(ACK),我这边已经准备好了,你现在能连吗(SYN)”。第三次握手:当客户端收到了服务端的确认连接信息后,要礼貌的告知一下服务端,“好的,咱们开始联通吧(ACK)”。到此整个建立连接的过程已经结束,接下来就是双方你一句我一句甚至同时交流传递信息的过程了。四次挥手断开连原创 2021-08-30 17:57:57 · 107 阅读 · 0 评论 -
Generator(生成器)
一、概念生成器其实就是一个特殊的函数异步编程 纯回调函数 node fs ajax mongodb函数代码的分隔符案例一:function * sang(){ yield '鹅鹅鹅'; yield '曲项向天歌'; yield '白毛浮绿水';}let iterator = sang()console.log(iterator.next());//{value: '鹅鹅鹅', done: false}console.log(iterator.next());//{value: '曲项原创 2021-08-18 08:55:11 · 135 阅读 · 0 评论 -
iterator(迭代器)
一、概念迭代器(iterator)是一种接口,为各种不同的数据结构提供统一的访问机制,任何数据结构只要部署iterator接口,就可以完成遍历操作。ES6创造了一种新的遍历命令 for…of 循环,iterator 接口主要供 for…of 消费原生具备 iterator 接口的数据(可用for of 遍历)二、工作原理创建带一个只针对对象,指向当前数据结构的起始位置第一次调用对象next方法,指针自动指向数据结构的第一个成员接下来不断调用next方法,指针一直往后移动,直到指向最后一个原创 2021-08-17 22:14:07 · 2791 阅读 · 0 评论 -
js实现浏览器视频拍照功能
<!DOCTYPE html><html lang="en"><head> <!-- 样式部分可以忽略 --> <style> * { padding: 0; margin: 0; } div { width: 100vw; height: 100vh; disp原创 2021-08-03 11:24:35 · 574 阅读 · 0 评论 -
ES6模块暴露与模块引用
一、多行暴露模块1:module1.js//多行暴露export function foo() { console,console.log('foo() moudle1');}export function bar() { console.log('bar() moudle1')}二、统一暴露模块2: module2.jsfunction fun1() { console.log('fun1() module2')}function fun2() {原创 2021-07-27 21:52:21 · 467 阅读 · 2 评论 -
typeof与instanceof
typeof用于判断数据类型,返回值为6个字符串,分别为string、Boolean、number、function、object、undefined。 var a = [34,4,3,54], b = 34, c = 'adsfas', d = function(){console.log('我是函数')}, e = true, f = null, g; console.log(type原创 2021-07-27 10:51:21 · 401 阅读 · 0 评论 -
Js中的ES6
文章目录ECMAScript61、ES6简介1.1、什么是ES61.2、ECMAScript和JavaScript的关系1.3、为什么要学习ES6?2、ES6环境搭建2.1、前期准备2.2、ES6环境搭建3、let与const3.1、let命令3.2、const命令4、ES6解构赋值4.1、解构赋值概述4.2、解构模型4.3、数组的解构赋值4.4、对象的解构赋值4.5、解构赋值注意事项4.6、解构赋值的用途5、字符串、函数、数组、对象的扩展5.1、模板字符串5.2、字符串扩展方法5.3、函数的扩展5.4、数原创 2021-07-26 11:21:45 · 1613 阅读 · 0 评论 -
call、bind、apply的区别
JavaScript中每个Function对象都有一个 call 方法和 apply 方法,而bind会返回一个新的函数1、call方法调用一个函数, 其具有一个指定的this值和分别地提供的参数(参数的列表)。注意:该方法的作用和 apply() 方法类似,只有一个区别,就是call()方法接受的是若干个参数的列表,而apply()方法接受的是一个包含多个参数的数组。function Person(name,age){ this.name = name; this.age = age原创 2021-07-20 10:15:06 · 161 阅读 · 1 评论 -
展开运算符的使用场景(...)
合并数组let arr1 = [1,3,5,7,9]let arr2 = [2,4,6,8,10]console.log(...arr1); //展开一个数组 1 3 5 7 9let arr3 = [...arr1,...arr2]//连接数组[1,3,5,7,9,2,4,6,8,10]解构赋值let a = [1,2,3,4,5,6]let [c,...d] = aconsole.log(c); // 1console.log(d); // [2,3,4,5,6]//展开运算符必须原创 2021-07-20 09:11:23 · 177 阅读 · 0 评论 -
Js表达式和语句的区别
一定注意区分:js语句(代码) 与 js表达式表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方下面这些都是表达式:(1). a(2). a+b(3). demo(1)(4). arr.map() (5). function test () {}语句(代码):一般的javascript中的语句分为下面几种: (1)声明语句:变量声明和函数声明 (2)赋值语句 (3)控制语句:能够对语句执行顺序产生改变,包括条件语句和循环语句,当然还有比较特殊的标签语句。原创 2021-07-19 11:34:14 · 254 阅读 · 0 评论 -
ajax、axios、fetch的区别
ajax$.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: function () {}, error: function () {}});传统 Ajax 指的是 XMLHttpRequest(XHR), 最早出现的发送后端请求技术,隶属于原始js中,核心使用XMLHttpRequest对象,多个请求之间如果有先后关系的话,就会出现回调地狱。JQuery ajax 是原创 2021-07-12 20:47:52 · 115 阅读 · 0 评论 -
原型和原型链简述(prototype、_proto_)
原型链+ __proto__ 原型+ 使用 __proto__ 串联起来的对象链状结构+ 从任何一个数据结构出发, 最终都能找到 Object.prototype+ 作用: 为了对象访问机制=> 当你需要访问一个对象的成员的时候=> 首先在自己身上查找, 自己身上有, 就直接使用, 停止查找=> 自己没有, 就会自动去自己的 __proto__ 上查找=> 如果还没有, 就在去 __pr...原创 2021-07-04 20:59:50 · 263 阅读 · 4 评论