
javascript
文章平均质量分 61
liu__software
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
js - 模块化开发的兼容nodejs的exports的套路
我一直以为,在js中只有闭包有值引用。原来TM天天使用的对象的赋值也是值引用的,所以才需要克隆/深浅拷贝的概念。补充:除了第一种的套路,还可以这样使用第二种。都是用来自执行函数的。第二种的好处是,还可以返回一个true。是不是很奇怪一个闭包是怎么把变量Best暴漏到外部的?这是因为闭包传入的this。实际上是window。兼容套路1:适用于遵循CommonJs 、 AMD/CMD 的套路。另一个重要的知识点:对象的赋值,是值引用的。兼容套路3:第三方中学习过来的简单套路。兼容套路2:jquery的套路。转载 2023-09-10 17:59:26 · 208 阅读 · 0 评论 -
js粘贴监听事件获取excel内容或图片或HTML带样式的内容
经过一段小探索,完成了自己的需求,收获了三个关键字知识点:DOMParser。每个都值得好好挖掘~js粘贴监听事件_js监听粘贴事件_程序员阿明的博客-优快云博客js粘贴板获取图片或HTML带样式的内容_前端黑猫的博客-优快云博客IE 11粘贴仅适用于输入字段-腾讯云开发者社区-腾讯云javascript - 实践笔记:js解析剪切板里的excel内容 - I Dont know - SegmentFault 思否电脑关键字:粘贴事件。转载 2023-09-08 16:59:57 · 1112 阅读 · 0 评论 -
javaScript 判断是否为数值类型的三种方法
javaScript 判断是否为数值类型的三种方法转载 2023-03-03 14:42:12 · 3233 阅读 · 0 评论 -
axios中post请求json和application/x-www-form-urlencoded详解
前端向后端传输数据时,如果是get传输,直接传在url后;如果是post传输,则在请求体body中传输。在body中的数据格式又有两种,一种是 json 数据格式,另一种是 字符串。具体要用哪种格式取决于后端入参的格式。如果后端接收json数据类型,post 的 headers 需要设置 { ‘content-type’: ’application/json’ },传给后端的数据就形如 { ‘name’:’edward’, ‘age’:’25’ }转载 2023-03-02 11:30:13 · 5716 阅读 · 0 评论 -
原生js——与text有关的属性、方法:appendData()、deleteData()、insertData()、createTextNode()、splitText()……
原生js——与text有关的属性、方法:appendData()、deleteData()、insertData()、createTextNode()、splitText()……转载 2023-03-02 11:20:57 · 779 阅读 · 0 评论 -
Javascript中对字符串进行正则转义 - js字符串转义-正则表达式1
Javascript中对字符串进行正则转义 - js字符串转义-正则表达式1转载 2023-03-02 11:05:04 · 616 阅读 · 0 评论 -
Javascript中对字符串进行正则转义 - js字符串转义-正则表达式
Javascript中对字符串进行正则转义 - js字符串转义-正则表达式转载 2023-03-02 10:59:34 · 1651 阅读 · 0 评论 -
Javascript中click与blur事件的顺序详析
查询w3c标准后,没有发现关于blur和mousedown,click的顺序说明。所以总结事件顺序应为:mousedown->(other)blur->mouseup->click。这是一个很常见的需求,input框负责在点击回车和失焦的时候确认输入。可以看到,input blur在button的click之前触发了,这就导致取消操作其实并没有起到作用。同时,也能发现事件的执行顺序为(input-blur) -> (button-click);这样的方式,就克服了第一种方案的两个弊端,也完美的解决了需求。转载 2023-03-02 10:32:45 · 1599 阅读 · 0 评论 -
JavaScript 正则表达式 g、i、m分别代表的含义
i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写;g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即。* 匹配所有以”test”结尾的 3 个字符的组合,不区分大小写。* 匹配第一个”tst”或”est”,不区分大小写。* 匹配字符串中所有”test”的实例。转载 2023-03-02 10:25:30 · 2676 阅读 · 0 评论 -
常用的验证网址的正则表达式
"|]+)$转载于:转载 2023-03-02 10:25:35 · 2138 阅读 · 0 评论 -
源生js惯性滚动与回弹效果
在写移动端的APP或者页面时,经常会遇到惯性滚动与回弹效果。用插件iscroll可以轻松解决这个问题,大多数的移动框架也能轻松解决这个问题,它们内部都封装了这个效果。一直好奇这个效果原生JS是怎么实现的,里面涉及到的弹力公式以及惯性效果还有一大堆临界点的判断,很是考验人。在网上找了一下,看到有大神的一篇相关的笔记,所以复制过来,仔细研究。转载 2022-11-08 23:16:26 · 1080 阅读 · 0 评论 -
前端也要懂物理 —— 惯性滚动篇
作者:凹凸曼-吖伟我们在平时编程开发时,除了需要关注技术实现、算法、代码效率等因素之外,更要把所学到的学科知识(如物理学、理论数学等等)灵活应用,毕竟理论和实践相辅相成、密不可分,这无论是对于我们的方案选型、还是技术实践理解都有非常大的帮助。今天就让我们一起来回顾中学物理知识,并灵活运用到惯性滚动的动效实现当中。惯性滚动(也叫滚动回弹,)最早是出现在 iOS 系统中,是指。抽象地理解,就像高速行驶的列车制动后依然会往前行驶一段距离才会最终停下。转载 2022-11-08 23:13:58 · 1537 阅读 · 0 评论 -
Javascript模块化方法CJS, AMD, UMD,ESM 简洁解释
示例};});};});AMD 是异步(asynchronously)导入模块的(因此得名)一开始被提议的时候,AMD 是为前端而做的(而 CJS 是后端)AMD 的语法不如 CJS 直观。我认为 AMD 和 CJS 完全相反} else {// ... };}));在前端和后端都适用(“通用”因此得名)与 CJS 或 AMD 不同,UMD 更像是一种配置多个模块系统的模式。这里可以找到更多的模式。转载 2022-11-07 23:06:40 · 652 阅读 · 0 评论 -
前端利用jsencrypt.js进行RSA加密
对于加密的学习一直很迷茫,但是今天看到博主的这篇文章感觉非常的通俗易懂,为了方便以后查阅,所以就保存下来,在此附上博主文章的地址RSA加密算法是一种非对称加密算法,RSA加密使用了"一对"密钥.分别是公钥和私钥,这个公钥和私钥其实就是一组数字!其二进制位长度可以是1024位或者2048位.长度越长其加密强度越大,目前为止公之于众的能破解的最大长度为768位密钥,只要高于768位,相对就比较安全.所以目前为止,这种加密算法一直被广泛使用.jsencrypt就是一个基于rsa加解密的js库。转载 2022-11-06 17:04:09 · 5251 阅读 · 0 评论 -
细读 JS | Cookie 详解
我们知道,Cookie 的读写是有差异的,读取的时候可以一次性获取当前作用域下的所用 Cookie,而写入的时候只能一条一条地进行写入操作。优先级,这是 Chrome 的提案,定义了三种优先级,Low/Medium/High,当 cookie 数量超出时,低优先级的 cookie 会被优先清除。只是一些场景下,我们需要来维护“状态”(指的是客户端与服务端会话的状态,而不是说给 HTTP 协议加个状态,这是不对的,也无法做到)。并发送服务端,服务端拿到这些信息就可以区分来自哪个用户的了,并存储到相应的表。转载 2022-11-06 17:06:26 · 2763 阅读 · 0 评论 -
Emoji 的处理 - 使用正则表达式匹配所有 Emoji表情
遇到了 emoji 需要过滤的问题,而百度来百度去看到的文章基本都是老旧的,没有完整给出 emoji 的 Unicode 范围。今日才终于从 segmentfault 上找到了一篇专门讲解 emoji 的文章,学到了很多,也解决了问题。如果需要用正则表达式匹配所有 emoji 的话,目前可以使用。转载 2022-11-06 16:54:11 · 7993 阅读 · 1 评论 -
中文正则表达式匹配-正则中文匹配
放在程序里前面加@,否则需要\\进行转义 @"^(?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$"_)$" 或者 @" ^[\u4E00-\u9FA50-9a-zA-Z_]+$ " )[a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字、数字、字母、下划线。\w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下。匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]这篇文章主要讲如何使用。转载 2022-11-05 22:26:48 · 2921 阅读 · 0 评论 -
javascript解决toFixed精度问题,保留两位小数(四舍五入)
在javascript中,想要处理一个数,,且不四舍五入的保留两位小数。转载 2022-11-04 11:22:12 · 2346 阅读 · 0 评论 -
js实现颜色转换hex转rgba
js实现颜色转换hex转rgba转载 2022-11-04 11:13:06 · 4005 阅读 · 0 评论 -
js实现视频blob格式播放
【代码】js实现视频blob格式播放。转载 2022-09-08 10:58:35 · 4258 阅读 · 0 评论 -
为什么“@drop”拖拽拖动事件在vue中不起作用?
监听器对我不起作用。它不会调用我告诉它调用的方法。我希望拖动芯片并能够将其放到另一个组件上,然后执行一个功能,但在放置芯片时,不会执行方法,因此我假定不会发出事件。控制台上未显示任何错误。其余的事件运行得很好,比如。这是我使用的组件的代码:在这个项目中,我也在使用Nuxt,以防万一。转载于:https://cloud.tencent.com/developer/ask/sof/954171转载 2022-06-01 15:44:46 · 3098 阅读 · 0 评论 -
history.scrollRestoration如何取消浏览器对页面滚动条位置的记录?
history.scrollRestoration如何取消浏览器对页面滚动条位置的记录?转载 2022-06-01 15:34:36 · 893 阅读 · 0 评论 -
location.origin 兼容性处理
location.origin 可以获取 当前协议 + 域名,但是低版本IE是不支持这个属性的,需要做一下兼容:let origin = window.location.origin; // protocol 当前 URL 的协议// hostname 当前 URL 的主机名// port 当前 URL 的端口号if (!origin) { origin = window.location.protocol + '//' + window.location.hostname + (.转载 2022-05-20 15:11:35 · 2275 阅读 · 0 评论 -
require.context实现引用全部js文件或svg文件
1. 引用一个目录下的所有js文件modules下home.jsme.jsproductList.jsuser.js实现import home from './modules/home'import me from './modules/me'import productList from './modules/productList'import user from './modules/user';const modules = { home, m转载 2022-05-20 15:01:57 · 1629 阅读 · 0 评论 -
js判断一个对象为空对象的几种方法
经典面试题,研发时也经常遇见的一个问题:如何判断一个对象是空对象?方法一:将对象转换成字符串,再判断是否等于“{}”let obj={};console.log(JSON.stringify(obj)==="{}");//返回true方法二:for in循环let result=function(obj){ for(let key in obj){ return false;//若不为空,可遍历,返回false } return true;转载 2022-05-19 10:43:22 · 29956 阅读 · 0 评论 -
深入理解JS防抖与节流
参考博客:JS防抖和节流,感谢作者的用心分享日常开发过程中,滚动事件做复杂计算频繁调用回调函数很可能会造成页面的卡顿,这时候我们更希望把多次计算合并成一次,只操作一个精确点,JS把这种方式称为debounce(防抖)和throttle(节流)函数防抖当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定时间到来之前,又触发了事件,就重新开始延时。也就是说当一个用户一直触发这个函数,且每次触发函数的间隔小于既定时间,那么防抖的情况下只会执行一次。function de转载 2022-05-19 10:35:27 · 273 阅读 · 0 评论 -
JS中的位置和宽度:clientWidth、offsetWidth、scrollWidth等区别
首先定义一个div。然后稍微装修一下下面开始区分 一、clientWidth和clientHeigh 、 clientTop和clientLeft 1,clientWidth的实际宽度 clientWidth =width+左右padding 2,clientHeigh的实际高度clientHeigh = height + 上下padding 3,clientTop的实际宽度...转载 2022-05-19 10:22:55 · 400 阅读 · 0 评论 -
原生js删除增加修改class属性className
其实html5已经扩展了class操作的相关API,其中classList属性就以及实现了class的增删和判断。HTML DOMclassList属性classList属性的方法有:add(value) 添加类名,如果有则不添加 contains(value) 判断是否存在类名,返回Boolean值 remove(value) 从列表中删除类名 toggle(value) 切换类名:如果列表中存在则删除,否则添加根据红宝书的介绍,目前支持classList属性的浏览器有Fi..转载 2022-05-19 10:19:10 · 5281 阅读 · 0 评论 -
js原生实现jquery方法offset()和position()
$(() => { console.log($('p').offset()) console.log($('p').position()) console.log(offset($('p')[0])) console.log(position($('p')[0])) // jquery offset原生实现 function offset(target) { var top = 0, left = 0 .转载 2022-05-19 10:15:28 · 569 阅读 · 0 评论 -
js中的localeCompare到底是如何比较的?
js中有一个sort方法,可以用来对数组排序,它有一个比较函数,用来比较两个元素的大小,我们先来看一个最基本的:['2','10','3'].sort((a,b)=>{ return a-b;});上面我们写了一个最简单的sort,它的返回结果是['2','3','10']。上面的排序规则是先将字符串转成数字,然后按照数字大小排序的,因为字符串在遇到减号的时候,先转成Number,再进行计算。除了上面这种排序,还有一种排序规则:['2'...转载 2022-05-17 15:20:36 · 4593 阅读 · 2 评论 -
JS排序:localeCompare() 方法实现中文排序、sort方法实现数字英文混合排序
定义:用本地特定的顺序来比较两个字符串。 语法:stringObject.localeCompare(target) 参数:target——要以本地特定的顺序与 stringObject 进行比较的字符串。 返回值:说明比较结果的数字。 (1)如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。 (2)如果 stringObject 大于 target,则该方法返回大于 0 的数。 (3)如果两个字符串相等,或根转载 2022-05-17 15:08:20 · 3243 阅读 · 1 评论 -
求两点之间的角度
求两点之间的角度float radian = Mathf.Atan((p2.y - p1.y)/(p2.x - p1.x));float angle = radian * 180 / Mathf.PI;转载于:https://blog.youkuaiyun.com/amiwx442706/article/details/101808284转载 2022-05-17 14:52:44 · 1394 阅读 · 0 评论 -
详解tween.js 补间动画中文使用指南
补间(动画)是一个概念,允许你以平滑的方式更改对象的属性。你只需告诉它哪些属性要更改,当补间结束运行时它们应该具有哪些最终值,以及这需要多长时间,补间引擎将负责计算从起始点到结束点的值。例如,position对象拥有x和y两个坐标: 1 var position = { x: 100, y: 0 } 如果你想将x坐标的值从100变成200,你应该这么做: 1 2 3 4 5 // 首先为位置创建一转载 2022-05-17 14:39:35 · 3146 阅读 · 0 评论 -
createjs入门
createjs是一个轻量级的框架,稍微有点时间和耐心,就可以把全部源代码都看一遍,毕竟只有三十几个js文件。地址:http://www.createjs.com/开发createjs的动画或游戏,没有重型的IDE或什么工具支持,我们只能从零开始写js。一方面,这样对于jser来说,足够灵活;另外一方面,createjs因此足够精简足够小。createjs由几个库组成:l easeljs,这个是核心,包括了显示列表、事件机制;l preloadjs,用于预加载图片等;l tweenjs,转载 2022-05-17 14:37:17 · 2635 阅读 · 0 评论 -
document.write()用法
1.document.open()功能:打开一个新文档,即打开一个流,并擦除当前文档的内容。语法:document.open(mimetype,replace)参数:mimetype:可选。规定正在写的文档的类型。默认值是”text/html”。replace:可选。当此参数设置后,可引起新文档从父文档继承历史条目。注1:open()方法将擦除当前HTML文档的内容,开始一个新的文档,新文档用write()方法或writeln()方法编写。注2:调用open()方法打开一个新文档并且用wri转载 2022-02-22 15:09:40 · 20572 阅读 · 1 评论 -
不指定src, 用js生成 iFrame新窗口
有如下需求: 要打印页面之中的某个表格,而且还要自动横打(所以用scriptX等控件,因为window.print是竖打)? 解决办法:将这部分表格(或者div等)提取出来,专门放到一个新的窗口中去,然后根据这些内容自动生成一个包含打印控件iFrame, 再调用控件的打印方法打印该Ifrme; ____________________________________________________________ 动态生成iframe的代码:...转载 2022-02-18 15:59:23 · 1275 阅读 · 0 评论 -
javascript -- Worker加载跨域
worker 加载js脚本跨域解决方案错误代码如下Uncaught (in promise) DOMException: Failed to construct 'Worker': Script at 'host' cannot be accessed from origin 'host'.解决方案传入blob url传入bol url可以用webpack worker-loader ,这里我们讲如何原生实现写一个根据URL获取blob的请求,然后转URL实现代码如下exp.转载 2022-02-18 15:54:59 · 2546 阅读 · 0 评论 -
JS触发事件(trigger的实现)兼容不支持onclick
参考 https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events,https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#Polyfill,https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent;关键点(是转载 2021-12-24 11:50:01 · 784 阅读 · 0 评论 -
浅谈 JS 防抖和节流
防抖和节流严格算起来应该属于性能优化的知识,但实际上遇到的频率相当高,处理不当或者放任不管就容易引起浏览器卡死。所以还是很有必要早点掌握的。(信我,你看完肯定就懂了)从滚动条监听的例子说起先说一个常见的功能,很多网站会提供这么一个按钮:用于返回顶部。这个按钮只会在滚动到距离顶部一定位置之后才出现,那么我们现在抽象出这个功能需求--监听浏览器滚动事件,返回当前滚条与顶部的距离这个需求很简单,直接写:function showTop () { var scrollTop..转载 2021-12-24 10:52:57 · 227 阅读 · 0 评论 -
JS判断元素是否出现了省略号,即文本内容的宽度是否超过了元素的宽度
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .box { width: 500px; .转载 2021-12-24 10:33:00 · 5419 阅读 · 0 评论