
javascript
开发路上的AZhe
做一个坚定的码农攻克狮
展开
-
原生js实现水印背景
参考文档:https://juejin.cn/post/6844904095749242888/* 1.通过canvas生成水印图片 2.把图片作为div的背景让其平铺*/const setWatermark = () => { let canvas = document.createElement('canvas'); canvas.width = 120; canvas.height = 80; canvas.style.border = '1px sol翻译 2021-09-17 14:28:35 · 760 阅读 · 0 评论 -
parseInt与Number的区别
//比较只有数字的字符串let num_str = '123';let parse = parseInt(num_str);let num = Number(num_str);console.log(parse);console.log(typeof parse);//numberconsole.log(num);console.log(typeof num); //numberconsole.log(parse === num); //true//比较有字母(或者中文)的数字原创 2021-05-17 10:12:27 · 499 阅读 · 0 评论 -
js生成一个安全的随机字母数字Base-62字符串
参考链接:https://mp.weixin.qq.com/s/1MHR6_kNRPNt2duU4q5Pqwfunction generateUID(length){ return window.btoa(Array.from(window.crypto.getRandomValues(new Uint8Array(length * 2))) .map((b) => String.fromCharCode(b)).join("")).replace(/[+/]/g, "")翻译 2021-05-07 10:11:01 · 488 阅读 · 0 评论 -
数组的entries()方法
entries() 方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。迭代对象中数组的索引值作为 key, 数组元素作为 value。//定义数组let arr = ['法外狂徒','职业法师','北大还行','花呗宗师','人生小目标'];arr.entries();//返回一个可迭代数组/*[0, "法外狂徒"][1, "职业法师"][2, "北大还行"][3, "花呗宗师"][4, "人生小目标"]*/for(let [index,value] o.原创 2021-04-27 14:40:53 · 3966 阅读 · 0 评论 -
解构赋值省略掉部分参数
// 解构赋值省略掉部分参数let obj = { name:'法外狂徒', age:18, sex:'男', qq:'15946875963', phone:'15689784598'}// 利用解构得rest语法收集那些尚未被解构模式拾取的剩余可枚举属性键/* rest语法:剩余参数语法 官网:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Res原创 2021-04-12 17:46:59 · 555 阅读 · 0 评论 -
js移动数组元素
# 核心方法 splice('起始位置','删除数量',['...添加元素'])# 起始位置 一般是数组元素得下标# 删除数量 12345...表示删除对应的个数,**而0表示不删除**# 添加元素 就是再splice给定的位置push数据> **splice方法会改变原始数组**> **如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组**# 控制移动mobile(list, i, num) { /* list.splice(i + num原创 2021-04-02 17:59:11 · 2222 阅读 · 0 评论 -
面试题:js怎么判断是否是数组?
js怎么判断一个变量是否是数组?方法一:isArray()let a =[1,2,3];Array.isArray(a); //true方法二:instanceof操作符let a = [1,2,3];a instanceof Array; //true原创 2021-02-25 15:06:42 · 714 阅读 · 0 评论 -
js的reduce方法
定义和用法reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。reduce() 可以作为一个高阶函数,用于函数的 compose。注意: reduce() 对于空数组是不会执行回调函数的。语法array.reduce(function(“必填初始属性”, “必填当前元素”, “可选元素下标”, “可选。当前元素所属的数组对象。”), “可选初始值”)这个function是一个回调函数用法//计算数组元素相加后的总和:var numb原创 2021-01-13 16:02:31 · 197 阅读 · 0 评论 -
onmouseleave和onmouseout之间的区别
1,onmouseleave和onmouseenter - onmouseleave 事件在鼠标移出元素时触发。 - onmouseenter 事件在鼠标指针移动到元素上时触发。onmouseenter和onmouseleave事件不支持冒泡,不包含子元素2,onmouseover和onmouseout - onmouseover 事件会在鼠标指针移动到指定的元素上时发生。 - onmouseout 事件会在鼠标指针移出指定的对象时发生。onmouseover和onmouseou原创 2021-01-13 11:36:26 · 1899 阅读 · 0 评论 -
bind,call,以及apply的理解与使用
bind的理解:Function.prototype.bind()官方原话/作用:bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。返回值:返回一个原函数的"拷贝",并拥有指定的 this 值和初始参数。 //例子 function demoBind(x){ console.log('我是第一个demoBind===>',this,x.int原创 2021-01-07 18:39:12 · 387 阅读 · 0 评论 -
js实现秒杀倒计时(天,时,分,秒)
效果图:<div id="LeftTime"></div>function FreshTime() { //结束时间 服务器返回 var stopTime = '2020/9/23 12:00:00'; //当前时间 var nowtime = new Date(); //计算相差的时间 var differenceTime =翻译 2020-09-23 14:09:13 · 2330 阅读 · 0 评论 -
this的指向
this在默认环境下指向window1,全局环境下的this指向window2,函数独立调用,函数内部的this也指向window(谁调用的函数,this就指向谁 )3,函数当做对象的方法来调用,this指向当前的对象4,自执行函数中内部的this指向window5,闭包中this默认指向window二:隐式绑定1,当函数当做方法来调用,this指向调用函数的直接对象三:隐式丢失隐式丢失就是指被隐式绑定的函数丢失了绑定对象,从而默认绑定到window1,把对象中的函数赋值给一个变量,就容原创 2020-07-18 17:29:14 · 173 阅读 · 0 评论 -
js把两张照片合成一张
function drawAndShareImage(number){ var canvas = document.createElement("canvas"); canvas.width = 500; canvas.height = 250; var context = canvas.getContext("2d"); context.rect(0 , 0 , canvas.width , canvas.height);转载 2020-05-30 13:04:28 · 1305 阅读 · 0 评论 -
js实现可拖动div
var oipc=document.getElementById('avatar');//得到需要拖动的div var isDrag=false;//是否开始拖拽 false 不拖拽 var disX,disY;//图片相对于图片的位置 //鼠标按下时 oipc.onmousedown=function(e){ isDrag=true;//开启拖拽 this.style.cursor='move'; //光标表...翻译 2020-05-30 12:54:32 · 663 阅读 · 0 评论 -
js中的RegExp 对象和match() 方法
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。https://www.w3school.com.cn/js/jsref_obj_regexp.aspmatch() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。https://www.w3scho...原创 2020-05-07 22:14:36 · 1937 阅读 · 0 评论 -
splice()和slice()的区别
splice():该方法向或者从数组中添加或者删除项目,返回被删除的项目。(该方法会改变原数组)splice(index,howmany,item1,…itemX)1,index参数:必须,整数,规定添加或者删除的位置,使用负数,从数组尾部规定位置。2,howmany参数:必须,要删除的数量,如果为0,则不删除项目。3,tem1,…itemX参数:可选,向数组添加的新项目。2slice(...翻译 2019-07-03 11:02:21 · 153 阅读 · 0 评论 -
target和currentTarget的区别
event.target 和 event.currentTarget 都是对一个触发事件的对象的引用. 不同之处在于:event.target 对触发事件的对象的引用(即它标识事件发生的元素)event.currentTarget 当事件遍历DOM时,标识事件的当前目标。它总是引用事件处理程序附加到的元素target在事件流的目标阶段;currentTarget在事件流的捕获,目标及冒泡阶段...翻译 2019-07-04 11:14:08 · 9534 阅读 · 0 评论 -
js利用join将数组转换为字符串
再发送post的请求时,因为其中一个属性需要放入一个字符串的值,而在这之前我的这个值是一个数组,所以需要对其进行转换,然后再将这个值传到后台var arr=[1,2,3,4,5];方法一:var a ="";for(var i=0;i<arr.length;i++){a+=arr[i]+",";}console.log(a);方法二:var a =arr.join(...原创 2019-07-10 14:27:33 · 671 阅读 · 0 评论 -
js的reverse()颠倒方法
reverse()方法用于颠倒数组中元素的顺序注意:该方法会改变原来的数组,而不会创建新的数组。例子:var str = [‘1’,‘2’,‘3’];document.write(a);输出:3,2,1原文地址:https://www.jb51.net/article/44876.htm...转载 2019-07-20 14:52:59 · 1451 阅读 · 0 评论 -
原生js添加 删除指定类名
indexnavigation.classList.remove("indexnavigationaClass"); indexnavigation.setAttribute("class", "slashStyle");indexnavigation是定义的一个节点setAttribute:跟指定的节点添加类名节点.classList.add:跟指定节点添加类名节点.clas...原创 2019-07-25 17:06:58 · 2062 阅读 · 0 评论 -
js的鼠标经过与离开事件
onmouseover:当鼠标移动到某对象范围的上方时触发的事件onmouseout:当鼠标离开某对象范围时触发的事件参考文档:https://www.cnblogs.com/torchstar/p/null.html翻译 2019-07-25 17:10:28 · 18567 阅读 · 0 评论 -
原生js得到,设置以及删除行内样式
var inlineStyle = document.getElementById("teaclassificationId").style.getPropertyValue("display");getPropertyValue:获取行间样式的属性值(这里的属性值可以想象成key:value的形式,根据key得到值,不过这里的key并不是自定义的而是css里面的)setProperty:获...翻译 2019-07-26 15:09:02 · 1591 阅读 · 0 评论 -
原生js的监听滚轮事件
前言:只要是现在做网页开发的大部分在右侧都会有一个置顶按钮,而这个置顶按钮有的是一开始就会一直显示,有的则是滚轮向下滚动一定距离之后,才会显示,一直显示的不讲,这个简单,这里就对滚轮进行一下笔记记录//监听滚轮滚动事件window.onscroll = function(){var scrollT = document.documentElement.scrollTop||document....翻译 2019-08-01 14:55:04 · 4928 阅读 · 0 评论 -
js的动态插入指定位置的标签方法insertBefore,以及自定义insertAfter方法
var mydiv = document.getElementById("mydiv");//目标元素 var divimg = document.createElement("div"); //新建一个div标签 divimg.classList.add("productInformation-img"); //给div定义一个类名 这里用来...翻译 2019-07-28 14:51:35 · 4901 阅读 · 0 评论 -
处理location请求乱码问题
#处理window.location的请求乱码页面window.location=“xx.do?name=”+encodeURI(encodeURI(name));控制器String name = java.net.URLDecoder.decode(request.getParameter(“name”), “UTF-8”);...原创 2019-09-20 10:54:47 · 309 阅读 · 0 评论 -
js验证银行卡号属于哪家银行
因为今天有个业务涉及到了银行卡业务,一开始打算让用户自己输入银行卡类型,或者是让用户手动选择银卡卡类型,但是都感觉有点捞,于是还是采用了调用接口://接口链接https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?cardNo=111111111111111111111&cardBinCheck=truecardNo //输...翻译 2019-09-27 12:50:08 · 11468 阅读 · 0 评论 -
js数组操作方法,pop(),push(),shift(),unshift()的解释
之前写页面时,需要动态的添加节点,于是在这里需要用到两个js中数组的操作方法,pop()以及push(),去网上查看了关于这两个方法的解释,顺便把shift()和unshift()也看了一下。pop():删除数组的最后一个元素,把数组的长度减1,并且返回它被删除元素的值,如果数组变为空,则该方法不改变数组,返回undefine值push():向数组末尾添加一个或者多个元素,并返回新的长度(可以...翻译 2019-07-03 09:16:22 · 1632 阅读 · 0 评论