JavaScript
JavaScript相关的语法和知识点
黎轩栀海
只是简单的随心记录,不喜勿喷。。。
展开
-
JavaScript 的双问号 和 ?. 的含义和作用
表示:可选链操作符(?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每 个引用是否有效。操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值。在javascript中如果一个值为null、undefined,直接访问下面的属性,前面没有值的时候会默认?后边的值(类似于三目运算符中的:后面赋值)双问号后面是默认值(可常量、可变量)。表示:只有左侧的值为。的时候才返回右侧的值。原创 2023-11-24 14:54:43 · 1798 阅读 · 0 评论 -
JS $router.back()和$router.go()
使用$router.back()和$router.go(-1)作用相同,都是返回原页面,但如果原页面路由携带参数,使用以上两个方式返回的原页面路由参数消失,此时使用$router.back(-1)返回原页面路由,参数仍存在。转载 2023-10-26 16:38:45 · 1422 阅读 · 0 评论 -
JS 根据身份证号获取年龄、性别、出生日期
2.编码规则不同,第一代身份证在前6位号码后没有完整出生年份,而二代的有完整的出生年份,一代身份证将年份前二位省略。在最后一位数上,二代证加了校验码。二代证: 331303(县区代码)19870808 (出生年月)1412(尾数加校验码)一代证:331303(县区代码)870808(出生年月)141(尾数)1.编号位数不同,第一代身份证为15位号码,第二代证是18位号码。原创 2023-07-28 15:19:18 · 778 阅读 · 0 评论 -
vue vue-esign签字插件
vue-esign插件签字转载 2023-05-24 14:51:51 · 2511 阅读 · 0 评论 -
Vux 适用于PopupPicker组件的最新所有省市区data
areaList可使用以下代码转好的放在项目里的静态数据。通过js转化转化成PopupPicker适用的格式。转载 2022-09-02 16:10:04 · 569 阅读 · 0 评论 -
JS 某一个时间是否在某段时间范围
某一个时间是否在某段时间范围原创 2022-07-19 13:48:19 · 201 阅读 · 0 评论 -
JS 好用的正则推荐
正则原创 2022-07-13 14:44:20 · 379 阅读 · 0 评论 -
JS 各大快递公司面单号相关的正则表达式
给各位需要用正则验证快递面单号准确与否的同学。但不清楚会不会随着时间推移,快递公司面单号升级而导致校验不准确,就目前而言是都是准确的。转载 2022-06-24 14:23:46 · 3590 阅读 · 2 评论 -
JS 计算两个时间的间隔
js 计算两个时间之间间隔的天数var start = new Date('2019-12-10'); //开始的时间var end = new Date('2019-12-31'); //结束的时间var se = end - start; //计算两个时间之间的秒数var days = Math.floor(se / (24 * 3600 * 1000)); // 计算天数console.log(days); //21...原创 2022-01-20 10:52:59 · 6725 阅读 · 0 评论 -
对象数组去重
let data = [ { id: 201801, name: "张三", age: 15 }, { id: 201804, name: "John", age: 18 }, { id: 201802, name: "李四", age: 18 }, { id: 201801, name: "张三", age: 15 }, { id: 201805, name: "Jack"...转载 2019-04-19 16:10:23 · 770 阅读 · 0 评论 -
fromCharCode()和charCodeAt()
fromCharCode()fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串语法String.fromCharCode(numX,numX,...,numX)参数 描述 numX 必需。一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码。 注释:该方法是 String 的静态方法,字符串中的每...转载 2019-02-22 15:26:04 · 5347 阅读 · 1 评论 -
js 遍历对象
第一种方法:forEach方式 //创建对象 var person = { ChineseName: "wjh", EnglishName: "Bruce", age: 10, school: "HQ University" }; //用forEach()进行遍历 va...原创 2018-10-17 17:20:34 · 137 阅读 · 0 评论 -
js 改变匹配到的字符串的颜色 — replace
1、js判断是否存在,存在则替换 -- 缺点:只能替换第一个匹配的字符,如果存在多个,则对后面的无效if(text.indexOf(this.searchText)>=0) { text = text.replace(this.searchText,"<span style='color:red;'>" + this.searchText+"</span>");}return text;2、正则匹配替换,,完美,,全部可以替换 ,,我的正则中使用了变量.原创 2021-06-28 13:47:24 · 3675 阅读 · 1 评论 -
对象、数组 互相转化
对象转数组let arr = [] let obj = { dr: "dr001", ljy: "ljy002"} for(let prop in obj) { arr.push({ name: prop, ct: obj[prop] })} console.log('arr', JSON.stringify(arr, null, 2));数组转对象let arr = [{ name: 'dr',转载 2021-01-29 14:12:42 · 103 阅读 · 0 评论 -
js原生加密解密
atob和btoa方法(1)atob解码window.atob(encodedData);(2)btoa编码window.btoa(stringToEncode)注意:(1)atob 的 a指的是Base64, b 指的是普通字符因此,atob表示Base64字符to普通字符,也就是Base64解码。(2)btoa 的 b 指的是普通字符, a 指的是Base6...原创 2019-05-29 14:51:52 · 3327 阅读 · 0 评论 -
获取给定月份的3个月后的日期
获取给定月份的3个月后的日期原创 2020-02-28 18:31:27 · 1351 阅读 · 0 评论 -
JS 给页面添加水印
新建mask.js文件'use strict'export default function setCard(userInfo) { let can = document.createElement('canvas'); can.width = document.documentElement.clientWidth - 100 can.height = 140; let cans = can.getContext('2d'); cans.beginP..原创 2022-01-25 17:20:10 · 2173 阅读 · 0 评论 -
JS——Map和ForEach
forEach()方法:针对每一个元素执行提供的函数。map()方法:创建一个新的数组,其中每一个元素由调用数组中的每一个元素执行提供的函数得来。区别forEach()方法不会返回执行结果,而是undefined。也就是说,forEach()会修改原来的数组。而map()方法会得到一个新的数组并返回。执行速度对比forEach()的执行速度 < map()的执行速度如何使用forEach适合不打算改变数据,而只是想用数据做一些事情 - 比如存数据库或打印map()适..原创 2021-06-25 13:55:37 · 319 阅读 · 0 评论 -
JS 动态修改hover的字体颜色
<template> <div> <div v-for="(item,index) in demo" :key="index"> <span class="label" :style="changeHover(item.color)">{{item.desc}}</span> </div> </div></template><script>export de.原创 2021-08-02 15:25:38 · 1919 阅读 · 0 评论 -
JS 手机号、姓名、身份证号脱敏处理
需求1: 11位手机号中间四位脱敏显示,例如:187****1234 function noPassByMobile(str){ if(null != str && str != undefined){ var pat=/(\d{3})\d*(\d{4})/; return str.replace(pat,'$1****$2'); } else { return ""; } }需求2: 姓名脱敏原创 2021-01-18 14:51:17 · 4597 阅读 · 0 评论 -
ios 音频自动播放问题
ios 音频自动播放问题原创 2022-06-07 13:53:16 · 279 阅读 · 0 评论 -
js中==和===区别
var a = 0;if( a == ''){ console.log(a==''); //true}if( a === ''){}else{ console.log(a===''); //false}== 叫相等运算===叫严格运算符== :表示值相等则都为true===:表示 不仅要值相等,双方类型也要相等才为true双等号==: (1)如果两个值类型相同,再进行三个等号(===)的比较 (2)如果两个值类型不同,也有可...原创 2021-02-26 14:33:55 · 175 阅读 · 0 评论 -
JS 数组方法 find()和findIndex()
var a= [{id:3,name:'章三'},{id:5,name:"里斯"}];a.find(it => it.id==3).name;a.findIndex(it =>it.id==5);原创 2021-10-29 16:17:18 · 406 阅读 · 0 评论 -
JS Date 日期
Date.now()和new.Date().getTime()都是获取1970年1月1日截止到现在时刻的时间戳,但是从性能上来讲Date.now()要快于new.Date().getTime()可以从代码执行上来看用来比较时间大小(标准时间和字符串时间比较)var a= new Date();var b ='2022-01-06';console.log(a.getTime() - new Date(b).getTime()); //25833013getTime() 默认返回...原创 2022-01-06 15:26:54 · 348 阅读 · 0 评论 -
JS array数组拼接 push() concat() 的方法效率对比
在做词条处理工具的时候,遇到了这个问题,在使用 拼接数组的时候要比 拼接耗时多9倍转载 2022-06-20 10:24:15 · 906 阅读 · 1 评论 -
js获取url中的参数,并保证获取到的参数不乱码
方法一:url:获取的网址 eg: URL:http://www.quwan.com/index?name=tyler 参数:name 是 url 的一个 参数//网上比较经典的js获取url中的参数的方法function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&am...转载 2018-04-22 23:47:43 · 469 阅读 · 0 评论 -
使用js生成条形码以及二维码
一、用js生成条形码这种业务场景不是很常见的,最近刚好又接到这种需求Google一下,发现github还真有这方面的轮子,感谢github,省去了我们很多造轮子的过程,好了言归正传,首先引入jsbarcode这个轮子(根据实测,该轮子着实好用支持多种编码方式)npm install jsbarcode;import jsbarcode from 'jsbarcode';cr...转载 2019-04-15 09:23:43 · 462 阅读 · 0 评论 -
JS 判断图片路径是否存在
checkImgExists(imgurl) { var ImgObj = new Image(); //判断图片是否存在 ImgObj.src = imgurl; console.log(ImgObj.fileSize);//打印出来是undefined //没有图片,则返回-1 if (ImgObj.fileSize > 0 || (ImgObj.width > 0 && ImgObj.height > 0).转载 2021-10-11 10:27:52 · 1480 阅读 · 0 评论 -
Js 里面为什么0==“” 会是true?
0 是逻辑的 false1 是逻辑的 true空字符串是逻辑的 falsenull 是逻辑的 falseNaN 是逻辑的 false(NaN==任何 都是false)因此可以得出结论空字符串是逻辑的 false == 0是逻辑的falsefalse==false 肯定是对的......转载 2020-03-06 13:47:50 · 1349 阅读 · 0 评论