js
小月鸭
这个作者很懒,什么都没留下…
展开
-
nvm安装以及使用
nvm管理node版本,快捷切换node版本原创 2023-08-10 11:16:21 · 251 阅读 · 0 评论 -
常见正则校验
常见正则校验原创 2022-08-16 16:26:52 · 269 阅读 · 0 评论 -
js实现深拷贝和浅拷贝
深拷贝和浅拷贝的区别1,浅拷贝只是增加了一个指针指向已存在的内存地址,仅仅是指向被复制的内存地址,如果原地址发生改变,那么浅复制出来的对象也会相应的改变。2,深拷贝是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存。通俗的来说,浅拷贝可以直接赋值并且更改原有数据后赋值的数据也会发生改变,深拷贝需要借助其他方式进行复制,并且不会随着原有指针改变而变化方法一:concat()拼接var arr=[];var arr1=[].concat(arr);方法二:slice()原创 2021-05-27 17:55:15 · 1872 阅读 · 3 评论 -
实现一个函数可以对javascript中的5种主要的数据类型进行值复制
js的数据类型基本数据类型引用数据类型Number(数值型)Object(对象)String(字符串类型)Array(数组)Boolean(布尔类型)function(函数)Underfind(未定义)Null(空)接下来就对以上数据类型赋值function getDataType(data){ var getType=Object.prototype.toString.call(data); //调用call方法判断类型,原创 2021-05-27 17:34:37 · 419 阅读 · 1 评论 -
Echarts实现进度条效果
Echarts实现进度条效果实现效果如图:option = {grid: { containLabel: true, left: 0, right: 0, top: 0, bottom: 0, }, xAxis: {原创 2021-05-20 17:20:46 · 5345 阅读 · 0 评论 -
默认参数结合解构赋值
使用默认参数结合解构赋值的方法满足以下输出用到的是解构赋值的双重默认值function func({a=123,b=456}={a:1,b:2} //此处输出){return {a,b}};console.log(func()) //输出{a:1,b:2}console.log(func({a:3,b:345})); //输出{a:3,b:456}console.log(func({})) //输出{a:123,b:456}详细解析: 解构赋值....原创 2021-05-19 20:15:07 · 73 阅读 · 0 评论 -
var与let、const的区别
var与let、const的区别1,var声明变量存在变量提升,let和const不存在变量提升console.log(a); // undefined ===> a已声明还没赋值,默认得到undefined值var a = 100;console.log(b); // 报错:b is not defined ===> 找不到b这个变量let b = 10;console.log(c); // 报错:c is not defined ===> 找不到c这个变量cons原创 2021-04-23 17:12:00 · 94 阅读 · 0 评论 -
剔除数组中的重复元素
实现,剔除数组中的重复元素,如输入:[1,6,3,2,4,2,5,3],输出[1,2,3,4,5,6]1,先排序,将相同的值相邻,然后遍历去除重复值function unique4(array){ array.sort(); var re=[array[0]]; for(var i = 1; i < array.length; i++){ if( array[i] !== re[re.length-1]) { re.push(array[i]); } } return原创 2021-04-23 15:46:50 · 311 阅读 · 0 评论 -
将数字转化为千分位形式
将数字转化为千分位形式,如:2367892.2转化为2,367,892.21,toLocaleString()方法parseInt('2367892.2').toLocaleString();2,正则语句function splitByReg3(str) { var re = /(\d{1,3})(?=(\d{3})+(?:$|\.))/g; return str.replace(re, "$1,") }3,字符串处理function split3st原创 2021-04-23 15:36:41 · 1675 阅读 · 0 评论 -
评星联动效果
vue评星联动业务需要一个评星联动效果,然后用到的框架暂不支持,所以就手写了一个demo级别所以有点糙效果如下:<view> <view class="items"> <view :class="item.isSelect?'it_selectd item':'item'" v-for="(item , index) in items" :key="index" @click='czc(item)'>{{item.txt}}</view>原创 2020-07-05 16:28:39 · 963 阅读 · 0 评论 -
promise解决回调地狱
回调地狱是什么?众所周知,在JavaScript的世界中,所有代码都是单线程执行的,由于这个“缺陷”,导致JavaScript的所有网络操作,浏览器事件,都必须是异步执行。我们必须得先了解一下同步请求和异步请求:同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕”回调地狱“也叫”回调金字塔“,即函数作为参数层层嵌套请求,比如说你要把一个函数 A 作为回调函数,但原创 2020-06-11 17:08:48 · 306 阅读 · 0 评论 -
axios拦截器
了解使用axios拦截器一 axios是什么1,axios是通过promise实现对ajax技术的一种封装,就像jQuery实现ajax封装一样。2,axios主要是用于向后台发起请求的,还有在请求中做更多是可控功能。3,axios 特点:· 从浏览器中创建 XMLHttpRequests(简单的说就是可以从URL检索数据,而不必刷新整个页面。这使网页可以更新页面的一部分,而不会中断用户的操作。)· 从 node.js 创建 http 请求· 支持 Promise API· 拦截请求和响应原创 2020-06-10 16:34:57 · 5568 阅读 · 0 评论 -
vue如何优雅的获取Cookie(js-cookie插件)
vue如何优雅的获取Cookie(js-cookie插件)一, 安装npm install js-cookie --save二, 引用import Cookies from 'js-cookie'三, 使用先上代码import Cookies from 'js-cookie'const AccessTokenKey = 'accessToken'//拿到tokenconst RefreshTokenKey = 'refreshToken'//刷新tokenexport func原创 2020-06-05 19:20:43 · 4021 阅读 · 0 评论 -
vue 动态添加input输入框
vue 动态添加input输入框实现需求:请求到后台数据是String以","隔开的,要求要以input框的方式来增删改,最后以String的数据格式提交给后台data() { return { str: "aaaa,bbbbb,ccccc", mylist: [] }; }, mounted() { this.mylist = th...原创 2019-10-30 10:25:39 · 10238 阅读 · 3 评论 -
通过user-agent判断用户是用微信还是支付宝打开二维码
**通过user-agent判断用户是用微信还是支付宝打开二维码**isWxOrAlipay() { var that = this var ua = navigator.userAgent.toLowerCase(); //判断是不是微信 if (ua.match(/MicroMessenger/i) == 'micromessenger') { that.payMethod ...原创 2019-10-28 14:29:25 · 935 阅读 · 1 评论 -
三元运算,if判断
三元运算符x = (y < 0) ? -y : y;在=和;之间的内容就是条件表达式,该语句的意思是“如果y小于0,那么x = -y;否则,x = y”。用if else可以这样表达:if (y < 0)x = -y;elsex = y;典型的例子是,把两个值中的最大值赋给变量:max = (a > b) ? a : b;如果a大于b,那么将max设置为a;否...原创 2018-12-06 15:57:59 · 3307 阅读 · 0 评论