
JavaScript
JavaScript开始以一门浏览器运行的语言,现在已经发展到可以开发后台,语言复杂多变,波诡云谲,越来越流行,主要记录使用中用的问题,和学习中的心得。
Army-海军
致力于前端开发,不做此行专家不罢休
展开
-
实现数组或者对象得深度合并merge实现
1. 前一个对象没有,后一个对象有的key,要新增进去2. 前一个有的,后一个没有,不准覆盖和改变3. 不管多深的对象或者数组嵌套,都要遍历到,不准直接覆盖,而是按照,1, 2的说法对照原创 2023-02-20 16:05:36 · 610 阅读 · 0 评论 -
一个函数得数组,按顺序执行还可以嵌套
一个函数得数组,按顺序执行还可以嵌套原创 2023-02-20 15:57:15 · 345 阅读 · 0 评论 -
什么是 web 语义化,有什么好处
web 语义化是指通过 HTML 标记表示页面包含的信息,包含了 HTML 标签的语义化和 css 命名的语义化。HTML 标签的语义化是指:通过使用包含语义的标签(如 h1-h6)恰当地表示文档结构转载 2020-08-25 15:05:22 · 8856 阅读 · 12 评论 -
RESTful接口架构是什么
综合上面的解释,我们总结一下什么是RESTful架构: (1)每一个URI代表一种资源; (2)客户端和服务器之间,传递这种资源的某种表现层; (3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。转载 2020-08-25 13:34:50 · 10525 阅读 · 13 评论 -
js-sha1实现SHA1加密
实用工具常记录是个好习惯原创 2020-08-18 12:02:22 · 14371 阅读 · 24 评论 -
开源canvas比较高级的旋转的太极图的源码
一些代码部分我打了注释,清晰明了,又不懂得直接评论即可,然后就是废话不多说上代码原创 2020-08-10 21:31:15 · 12114 阅读 · 26 评论 -
详解Canvas动画部分
本文包括缩放,平移,旋转、动画等复杂动画原创 2020-06-29 14:02:45 · 23346 阅读 · 32 评论 -
Html5中Canvas绘制、样式详解(不包含动画部分)
canvas是一个可以使用脚本(通常为JavaScript)来绘制图形的 HTML 元素.不过,canvas 元素本身并没有绘制能力(它仅仅是图形的容器) - 必须使用脚本来完成实际的绘图任务原创 2020-06-24 16:34:17 · 17091 阅读 · 32 评论 -
js中Error对象
错误对象包括Error、EvalError、InternalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError原创 2020-06-19 14:44:53 · 15517 阅读 · 23 评论 -
js深度了解下try...catch...finally
try...catch语句标记要尝试的语句块,并指定一个出现异常时抛出的响应。原创 2020-06-18 15:04:28 · 15364 阅读 · 22 评论 -
详解cookie、session、token关于前后端的那些事(强烈推荐)
http协议是无状态协议,请求之间是没有联系的,cookie、session、token可以帮助服务器区分到底是谁在访问原创 2020-06-17 13:31:00 · 18315 阅读 · 33 评论 -
彻彻底底搞懂this关键字
与其他语言相比,函数的 this 关键字在 JavaScript 中的表现略有不同,此外,在严格模式和非严格模式之间也会有一些差别。在绝大多数情况下,函数的调用方式决定了this的值。this不能在执行期间被赋值,并且在每次函数被调用时this的值也可能会不同。ES5引入了bind方法来设置函数的this值,而不用考虑函数如何被调用的,ES2015 引入了支持this词法解析的箭头函数(它在闭合的执行环境内设置this的值)。原创 2020-06-16 11:23:05 · 15754 阅读 · 39 评论 -
详解navigator对象
Navigator 接口表示用户代理的状态和标识。 它允许脚本查询它和注册自己进行一些活动原创 2020-06-16 09:45:33 · 15597 阅读 · 24 评论 -
详解location对象
Location 接口表示其链接到的对象的位置(URL)。所做的修改反映在与之相关的对象上。 Document 和 Window 接口都有这样一个链接的Location,分别通过 Document.location和Window.location 访问。原创 2020-06-15 16:31:28 · 17051 阅读 · 17 评论 -
js工具函数之数字转为中文数字和大写金额
数字转为中文大写数字和大写金额原创 2020-06-09 10:57:30 · 16216 阅读 · 9 评论 -
js工具函数之身份证完整的规则及校验
身份证完整的规则及校验原创 2020-06-09 10:34:27 · 15525 阅读 · 24 评论 -
js拦截用户复制、剪切、另存为、禁止鼠标右键及破解方法
经常会遇到这样的需求,拦截用户复制、剪切、另存为、禁止鼠标右键的操作等,然后再教你破解原创 2020-06-08 17:17:17 · 17996 阅读 · 16 评论 -
js工具函数之数组随机打乱、数组去重、数组并集、数组交集、指定范围随机数
数组随机打乱、数组去重、数组并集、数组交集、指定范围随机数原创 2020-06-08 16:28:25 · 14661 阅读 · 21 评论 -
js工具函数之某dom节点是否在可视范围之内
Element.getBoundingClientRect()方法返回元素的大小及其相对于视口的位置。原创 2020-06-08 15:46:30 · 16065 阅读 · 23 评论 -
js工具函数之根据url地址下载
a标签下有一个download属性此属性指示浏览器下载 URL 而不是导航到它,因此将提示用户将其保存为本地文件。如果属性有一个值,那么此值将在下载保存过程中作为预填充的文件名(如果用户需要,仍然可以更改文件名)。此属性对允许的值没有限制,但是/和\会被转换为下划线。大多数文件系统限制了文件名中的标点符号,故此,浏览器将相应地调整建议的文件名。原创 2020-06-08 15:01:24 · 14790 阅读 · 11 评论 -
详解Html5关于拖拽(Drag 和 drop)的使用和事件
拖放(Drag 和 drop)是 HTML5 标准的组成部分。在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。原创 2020-06-05 17:12:35 · 17769 阅读 · 22 评论 -
Object.create()详解并实现继承
Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__原创 2020-05-28 17:48:49 · 19381 阅读 · 33 评论 -
Object.assign() 方法的使用详解
Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。原创 2020-05-28 16:06:52 · 15686 阅读 · 33 评论 -
js之Object.defineProperty和Object.defineProperties详解
Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。原创 2020-05-28 14:35:37 · 18335 阅读 · 25 评论 -
详解Eslint使用教程及注意事项(三)
eslint的具体配置规则与解释(部分)这些规则与 JavaScript 代码中可能的错误或逻辑错误有关: for-direction 强制 “for” 循环中更新子句的计数器朝着正确的方向移动 getter-return 强制 getter 函数中出现return语句 no-async-promise-executor 禁止...原创 2020-05-27 15:23:54 · 15050 阅读 · 32 评论 -
详解Eslint使用教程及注意事项(二)
包括全局变量,配置插件、配置规则、内嵌注释代码禁用规则,扩展配置、忽略文件和目录原创 2020-05-27 15:18:04 · 16928 阅读 · 22 评论 -
详解Eslint使用教程及注意事项(一)
包括安装,配置文件,解析器和指定环境原创 2020-05-27 13:41:55 · 16156 阅读 · 21 评论 -
Lodash入门及方法汇总(全)
本文详细讲解包括引入引用等,和极大部分实用方法原创 2020-05-26 14:00:59 · 20769 阅读 · 23 评论 -
js正则表达式详细总结,从抄到写
一、JavaScript RegExp 对象RegExp 对象RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。直接量语法/pattern/attributes创建 RegExp 对象的语法:new RegExp(pattern, flags);参数参数pattern是一个字符串,指定了正则表达式的模式或其他正则表达式。参数flags...原创 2020-04-30 17:25:32 · 14727 阅读 · 17 评论 -
js原生函数节流
函数节流就是一定时间内只触发一次函数。原理是通过判断是否到达一定时间来触发函数。// 时间戳方案function throttle(fn,wait){ var pre = Date.now(); return function(){ var context = this; var args = arguments; var n...原创 2020-04-29 17:27:11 · 14801 阅读 · 20 评论 -
原生js函数防抖
函数防抖主要就是防止频繁触发事件就会频繁触发回调,回调要是操作dom或者其他耗时工作,浏览器受不了。函数防抖:好比电梯需要上人,来一个人,就要等几秒再走,再来个人又要多等一样的时间,再来一样。在网上看到也有个比较恰当的比喻,好比网络游戏法师施法,点击之后正在读进度条,你又点了一次,那只能从头再读,每次点都得从头读。实现代码如下:function debounce (func...原创 2020-04-29 17:10:30 · 14867 阅读 · 20 评论 -
原生js实现页面回到顶部功能
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"...原创 2020-04-29 14:24:04 · 14943 阅读 · 21 评论 -
js中typeof用法和instanceof用法
一、typeof的返回值包括number,boolean,string,function(函数),object(NULL,数组,对象),undefined ,symbol(ES6新增)。常用的就这些// 数值typeof 37 === 'number';typeof 3.14 === 'number';typeof(42) === 'number';typeof Math...原创 2020-04-21 17:43:19 · 15075 阅读 · 38 评论 -
js调用APP后,如果有App直接进App,没有则进入App下载页面
在网上找了一圈,都没有合格的。看下边这段setTimeout(function() { alert('你还没安装,去下载去'); // 去某个下载页面 // const u = navigator.userAgent; let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //a...原创 2020-04-09 16:51:26 · 15423 阅读 · 23 评论 -
原生js之fetch
fetch是一种HTTP数据请求的方式。fetch不是ajax的进一步封装,是原生js。Fetch函数就是原生js,没有使用XMLHttpRequest对象,是一个全局方法。fetch规范与jQuery.ajax()主要有三种方式的不同: 当接收到一个代表错误的 HTTP 状态码时,从fetch()返回的 Promise不会被标记为 reject,即使响应的 HTTP 状态...原创 2020-04-08 23:17:47 · 16576 阅读 · 22 评论 -
web页面内调取QQ应用
H5 调 QQ <a href="mqqwpa://im/chat?chat_type=wpa&uin=相应QQ号&version=1&src_type=web&web_src=oicqzone.com"> <img src="http://wpa.qq.com/pa?p=1:1328789469:10"></...原创 2020-04-02 17:00:41 · 16847 阅读 · 21 评论 -
snap.svg的使用
github地址:https://github.com/jianghaijun4031/svgSnap演示地址:https://jianghaijun4031.github.io/svgSnap/原创 2019-06-05 21:43:00 · 20867 阅读 · 32 评论 -
详解js文件和css文件的禁止其缓存
js文件和css文件的禁止其缓存有的时候在调试页面的时候,刷新浏览器没用,重新点地址栏也不行,只能去浏览器设置里清除缓存,讨厌的要死,有时候还不得不把常用的cookie删掉,所以打算在开发或者已经上线后,希望用户每次都重新请求,保证版本的最新方法一普通青年<meta http-equiv="Pragma" content="no-cache"/><m...原创 2019-06-12 17:41:36 · 17633 阅读 · 11 评论 -
js常见算法/数组去重等
这里有一篇关于js其他的算法https://www.cnblogs.com/lvmylife/p/7208541.htmlhttps://www.jackpu.com/qian-duan-mian-shi-zhong-de-chang-jian-de-suan-fa-wen-ti/我这里不重复他的。几个常用的数组去重。方法很多,自行百度,挑几个思维方式比较正常的// es6的最...原创 2019-05-29 15:57:28 · 15279 阅读 · 22 评论 -
罗列几个js的时间函数和基本方法
刚开始我开始接触时间差的时候,我特别的傻的用,时间和时间相减,琢磨一会,一个非常严重的问题就是跨月跨天咋弄涅。。额。。尴尬了。。这也就是菜鸟才会这样吧,我第一个用到的时间函数,出处已经不知道了,用着还行。function BetweenTime(a1,a2){ var date1 =new Date(Date.parse(a1.replace(/-/g, "/"))) ; //开始...原创 2019-06-03 19:40:38 · 15829 阅读 · 10 评论