
Javascript
aliven1
前端工程师,技术栈:PS、AI、H5、CSS3、JS、TS、jQuery、vue、react、微信小程序、node、express、svn、git、webpack
展开
-
Object.getPrototypeOf判断数据类型
【代码】Object.getPrototypeOf判断数据类型。原创 2024-09-09 17:56:33 · 411 阅读 · 0 评论 -
html转换到pdf
html转换到PDF。转换后的图像在PDF中显示有边框问题原创 2024-07-10 17:49:51 · 415 阅读 · 0 评论 -
截取部分网页生成PDF导出
【代码】截取部分网页生成PDF导出。原创 2024-06-27 09:30:05 · 219 阅读 · 0 评论 -
生成dom节点的模板
【代码】生成dom节点的模板。原创 2024-06-06 16:21:02 · 356 阅读 · 0 评论 -
回溯组合求和算法---去重
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明: 所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为:解题重点:集合(数组candidates)有重复元素,但还不能有重复的组合。原创 2024-03-26 11:26:58 · 400 阅读 · 0 评论 -
回溯算法模板框架
【代码】回溯算法模板框架。原创 2024-03-11 16:00:13 · 482 阅读 · 0 评论 -
textarea中获得鼠标位置,插入值
2.通过对象的selectionStart获得鼠标的起始位置。1.通过$refs,获得vue对象;原创 2024-02-01 15:59:09 · 588 阅读 · 0 评论 -
indexedDB的基本操作
IndexedDB 就是浏览器提供的本地数据库,它可以被网页脚本创建和操作。IndexedDB 允许储存大量数据,提供查找接口,还能建立索引。这些都是 LocalStorage 所不具备的。就数据库类型而言,IndexedDB 不属于关系型数据库(不支持 SQL 查询语句),更接近 NoSQL 数据库。name: 'indexedDB',//测试indexedDBsetup() {// 打开数据库// 打开数据库:如果数据库不存在,则新建数据库// 参数1:数据库名称。原创 2024-01-23 10:51:20 · 839 阅读 · 0 评论 -
three中定义mesh圆周运动
【代码】three中定义mesh圆周运动。原创 2023-12-20 15:30:24 · 458 阅读 · 0 评论 -
数字加逗号分割(三位分节)
【代码】数字加逗号分割(三位分节)原创 2023-11-28 11:27:58 · 512 阅读 · 0 评论 -
es6---模块化
/dist/boundle.js script中的compile命令,使用管道符&&串联命令。先使用babel转换es6语法(名为env的preset),再使用browserify编译代码。原创 2023-09-07 13:57:00 · 638 阅读 · 0 评论 -
模块化---AMD
【代码】模块化---AMD。原创 2023-09-07 13:44:16 · 183 阅读 · 0 评论 -
链表反转-双指针和递归
【代码】链表反转-双指针和递归。原创 2023-05-13 18:23:01 · 113 阅读 · 0 评论 -
canvas中扇形的拖拽
【代码】canvas中扇形的拖拽。原创 2023-04-22 16:19:35 · 167 阅读 · 0 评论 -
canvas中拖拽矩形
【代码】canvas中拖拽矩形。原创 2023-04-09 16:46:20 · 335 阅读 · 0 评论 -
监听标签可见性的方法 --- visibilitychange-requestAnimationFrame
【代码】监听标签可见性的方法 --- visibilitychange-requestAnimationFrame。原创 2023-04-08 16:07:57 · 136 阅读 · 0 评论 -
特定元素全屏
网页全屏原创 2023-03-25 15:25:38 · 249 阅读 · 0 评论 -
自定义组件,多层弹窗嵌套的解决思路
解决思路:确定相对定位元素,往相对定位元素内动态添加弹窗元素和模态框,并暂存元素,关闭弹窗时,同步删除暂存元素。原创 2023-02-02 13:28:37 · 582 阅读 · 0 评论 -
前端使用xlsx,导出Excel操作
https://blog.youkuaiyun.com/GFing18/article/details/125523446转载 2022-11-23 13:48:44 · 188 阅读 · 0 评论 -
数组实现按中文排序
数组实现按中文排序原创 2022-10-19 11:11:02 · 242 阅读 · 0 评论 -
arrayBuffer-基于worder实例实现多线程-sharedArrayBuffer共享内存
sharedArrayBuffer共享内存转载 2022-10-06 15:04:05 · 204 阅读 · 0 评论 -
一键复制-execCommand
一键复制-execCommand原创 2022-09-30 13:38:31 · 220 阅读 · 0 评论 -
自定义滚动条插件-iScroll
iScroll 基本用法转载 2022-09-29 09:46:31 · 815 阅读 · 0 评论 -
Object.defineProperty和Reflect.defineProperty的容错问题
Reflect.defineProperty,避免try...catch的滥用原创 2022-06-22 10:59:13 · 236 阅读 · 0 评论 -
使用region折叠代码
js 使用 #region 折叠代码的原创 2022-06-22 10:43:14 · 618 阅读 · 0 评论 -
electron主进程和渲染进程的通讯
渲染进程ipcRender.jsconst {ipcRenderer}=require('electron')window.onload=()=>{ const sendMsgDom=document.querySelector('#sendMsg') // 1.1 渲染进程给主进程发送消息 sendMsgDom.onclick=()=>{ console.log('ipcRender') ipcRenderer.send('sendM原创 2022-05-27 08:54:39 · 328 阅读 · 0 评论 -
electron中自定义软件顶部菜单,自定义右键菜单,绑定快捷键
electron自定义顶部菜单,electron自定义右键菜单原创 2022-05-26 12:02:50 · 2144 阅读 · 0 评论 -
Electron网络安全策略的配置-Content-Security-Policy
原创 2022-05-25 18:03:29 · 1470 阅读 · 0 评论 -
electron中主进程模块和渲染进程模块-remote模块
主进程和渲染进程的介绍Remote模块渲染进程中使用@electron/remote模块的方法:2. 在主进程中初始化3.在渲染进程中使用主进程的模块const {BrowserWindow}=require('@electron/remote')原创 2022-05-25 17:32:12 · 392 阅读 · 0 评论 -
electron的进程中使用node.js模块
1. 主进程中无需任何配置就可以使用nodejs模块const fs=require('fs')fs.readFile('package.json',(err,data)=>{ if(err){ console.log(err) return } console.log(data.toString()) console.log(JSON.parse(data.toString()).na原创 2022-05-25 12:00:01 · 5548 阅读 · 0 评论 -
手动创建electron项目
创建文件夹eletrondemo01;内部文件index.html:渲染进程;main.js:主进程Npm init –y:初始化package.json文件。npm install electron –save-dev:使electron作为工具使用,从而有代码提示项目初始化代码:const {app,BrowserWindow}=require('electron')const path=require('path')const createWindow=()=>{ con.原创 2022-05-24 16:31:51 · 555 阅读 · 0 评论 -
Hammer.js的使用
https://www.jianshu.com/p/0b0b9364f9671.1. tap在指定的 DOM 区域内,一个手指轻拍或点击时触发该事件(类似 PC 端的 click),该事件最大点击时间为 250ms,如果超过 250ms 则按 press 事件处理1.2. press在指定的 DOM 区域内,这个事件相当于 PC 端的 Click 事件,不能包含任何的移动,最小按压时间为 500ms,常用于我们在手机上用的复制粘贴等功能该事件事分别对以下事件进行监听并处理pressup: 点击转载 2022-04-09 00:57:04 · 745 阅读 · 0 评论 -
二进制家族:Blob、ArrayBuffer和Buffer
Blob我们首先来介绍Blob,Blob是用来支持文件操作的。简单的说:在JS中,有两个构造函数 File 和 Blob, 而File继承了所有Blob的属性。所以在我们看来,File对象可以看作一种特殊的Blob对象。在前端工程中,我们在哪些操作中可以获得File对象呢? 请看:我们上面说了,File对象是一种特殊的Blob对象,那么它自然就可以直接调用Blob对象的方法。让我们看一看Blob具体有哪些方法,以及能够用它们实现哪些功能Blob实战通过window.URL.createObj转载 2022-04-09 00:49:14 · 730 阅读 · 0 评论 -
new buffer的使用
//javascript的字符串使用UTF-16编码的方式,所以我们可以这样来做:const str='abcdefg后';var buffer=new ArrayBuffer(str.length*2);var view=new Uint16Array(buffer);for(var i=0;i<str.length;i++){ view[i]=str.charCodeAt(i);}console.log(view)//因为每个字母占两个字节所以总字节为length乘2//str转载 2022-03-07 15:59:31 · 1901 阅读 · 0 评论 -
requestAnimationFrame的使用(three.js)
requestAnimationFrame()参数是将要被调用函数的函数名,requestAnimationFrame()调用一个函数不是立即调用而是向浏览器发起一个执行某函数的请求, 什么时候会执行由浏览器决定,一般默认保持60FPS的频率,大约每16.7ms调用一次requestAnimationFrame()方法指定的函数,60FPS是理想的情况下,如果渲染的场景比较复杂或者说硬件性能有限可能会低于这个频率。可以查看文章《requestAnimationFrame()》了解更多requestAnima原创 2022-03-03 16:28:02 · 2223 阅读 · 0 评论 -
elementUI表单的自动验证
methods: { submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { alert('submit!'); } else { console.log('error submit!!'); return false; } }原创 2022-02-08 20:52:12 · 904 阅读 · 0 评论 -
数据结构优化-数据与描述分离
表单数据结构的优化使用如下的结构的优势重置数据更简单,eg:formData=JSON.parse(JSON.stringify(originData)) ;数据维护更简单直观接口间组织传递数据,更方便易用data:{ formData:{ name:'', age:1, female:true }, rules:{ name:{ label:'姓名', pattern://i, fixed:false }, age:{ la原创 2022-01-17 11:30:07 · 527 阅读 · 0 评论 -
移动端-微信端-pc端判断参考逻辑
_isMobile() { let flag = navigator.userAgent.match( /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i ) if (flag) { this.equInfoIsMobile原创 2022-01-06 11:09:19 · 1107 阅读 · 0 评论 -
利用buffer下载日志,处理图像文件
downloadLog: function(data){ return request({ url: `/crm/flows/history/download`, method: 'get', params: data, responseType: "arraybuffer" // arraybuffer是js中提供处理二进制的接口 }).then((res)=>{ const filename = res.headers["原创 2021-12-31 14:45:28 · 845 阅读 · 0 评论 -
日期相关,Day.js,moment.js
原生方法获得指定日期时间戳new Date(2021-12-09 00:00:00).getTime()时间处理的库:Day.js(比moment.js更小),moment.js原创 2021-12-31 12:30:43 · 610 阅读 · 0 评论