
JavaScript
JavaScript常见的一些问题以及常用的知识点!
前端攻城狮路飞
正真的大师永远都怀着一颗学徒的心。
展开
-
js全国省市区JSON数据(全)
AreaJson 就是全国省市区的具体数据信息,下面我自定义了一些方法,获取数据用的,不需要的可以删掉,只拿JSON内的数据即可。原创 2024-05-22 09:19:22 · 2765 阅读 · 0 评论 -
js数组扁平化并去除其中重复数据,最终得到一个升序且不重复的数组,js数组去重,js数组排序
js数组扁平化并去除其中重复数据,最终得到一个升序且不重复的数组,js数组去重,js数组排序,【代码】js数组扁平化并去除其中重复数据,最终得到一个升序且不重复的数组,js数组去重,js数组排序。原创 2023-02-10 17:28:53 · 585 阅读 · 0 评论 -
js数组排序,数组按照某个字段正序倒序排序方法,sort()
js数组排序,数组按照某个字段正序倒序排序方法,sort(),以上是处理的数组里面包含对象的数据结果,当然用来处理一些其他类型的数组数据也是非常方便的。比如后端返回了一个数组集合,需要吧默认选项放在第一条。输出结果:正序,从小到大依次排序。输出结果:倒序,从大到小依次排序。话不多说直接看案例哈。原创 2022-11-08 14:33:36 · 2639 阅读 · 0 评论 -
js数字金额转大写,javaScript数字金额转大写。
【代码】js数字金额转大写,javaScript数字金额转大写。原创 2022-09-26 11:47:28 · 975 阅读 · 0 评论 -
一个简单的实例帮你彻底学会async和await的用法
一个简单的实例帮你彻底学会async和await的用法,但是接口请求并没有返回我们需要的数据,console.log(333333)正常执行,最后在我们异步执行完成后执行了console.log(222222),所以我们的代码并没有等异执行完在执行下面的同步操作,而是先执行了所有同步任务,最后执行了异步操作,这下明白了吗。,再来看看不加await输出结果。我们声明一个普通函数getDatas,这个函数里面写了一个异步请求,用来获取后台数据。...原创 2022-08-01 14:26:36 · 3079 阅读 · 1 评论 -
js时间格式转化处理,vue.js时间转化为今天,明天,后天显示
js时间格式转化处理,vue.js时间转化为今天,明天,后天显示原创 2022-07-04 10:37:23 · 1076 阅读 · 0 评论 -
js数字添加千分位符号,并保留两个小数位
js数字添加千分位符号,并保留两个小数位原创 2022-05-16 15:59:29 · 2670 阅读 · 0 评论 -
js锚点跳转添加过度动画,vue锚点跳转js添加平滑过度效果
js锚点跳转添加过度动画,vue锚点跳转js添加平滑过度效果原创 2022-05-12 11:08:38 · 2267 阅读 · 0 评论 -
js回到顶部,带过渡动画效果
先来看看实现的效果: js点击回到顶部添加过渡动画效果 这里我就直接贴js代码了,html代码我就不写了,就是回到顶部按钮的一个点击事件,我用的vue,this.myTimer是data函数里面的一个变量,你可以自己声明一个变量,主要是用做定时器的代码如下:toTop() { // 返回顶部,添加过度动画,如果下拉距离超过10000,就统一0.8秒回到顶部,否则按默认速度原创 2022-05-12 10:30:00 · 1939 阅读 · 1 评论 -
手写一张图,帮你理解JS的深浅拷贝及底层原理
手写一张图,配合图文讲解看的一目了然,写的有点丑,看懂内容就行1.我们需要了解js的内存分为栈内存和堆内存,栈内存中存放的是简单数据类型,还有堆内存中复杂数据类型的引用地址,堆内存中存放的就是复杂数据类型就是我们常说的object;2.我们声明了五个简单数据类型,a=Number,b=String,c=Boolean,d=Undefined,e=Null,可以看到都是直接以键值对的形式储存在栈内存中了,这里漏掉了一点,简单提醒一下,简单数据类型的赋值不存在浅拷贝3.我们声明了一个对象f = {g:2,原创 2022-04-19 09:30:44 · 240 阅读 · 0 评论 -
Vue生成二维码分享海报并下载到本地,亲测有效
1. npm安装 html转canvas — 亲测有效npm install html2canvas --save2.页面引入import html2canvas from ‘html2canvas’;3.html:调整位置生成想要的海报两张图片的具体定位,可通过css定位调整,ewm.png是太阳码,bg.png是分享海报背景;最后生成的海报图片如下图:HTML部分<div v-show="imgUrl" ref="box" style="原创 2021-12-23 15:29:49 · 2023 阅读 · 5 评论 -
js的原型和原型链
构造函数创建对象:function Person() {}var person = new Person();person.name = 'Kevin';console.log(person.name) // KevinPerson 就是一个构造函数,我们使用 new 创建了一个实例对象 personprototype每个函数都有一个 prototype 属性每一个JavaScript对象(null除外)在创建的时候就会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型"原创 2021-07-27 16:06:33 · 138 阅读 · 0 评论 -
js数字Math方法,随机数,四舍五入保留小数位,向上取整向下取整;
1.向上取整Math.ceil():console.log(Math.ceil(25.9)) // 26console.log(Math.ceil(25.5)) // 26console.log(Math.ceil(25.1)) // 262.向下取整Math.floor():console.log(Math.floor(25.9)) // 25console.log(Math.floor(25.5)) // 25console.log(Math.floor(25.1)) // 253.原创 2021-07-22 11:12:07 · 2150 阅读 · 0 评论 -
js判断数组中数字的最大值和最小值
方法很简单,看源码:let arr = [1,2,3,4,5]let max = Math.max(...arr) // 最大值为5let min = Math.min(...arr) // 最小值为1原创 2021-07-21 16:52:01 · 1561 阅读 · 1 评论 -
JS垃圾回收机制
转载地址http://www.ruanyifeng.com/blog/2017/04/memory-leak.htmljavascript垃圾回收机制原理:解决内存的泄露,垃圾回收机制会定期(周期性)找出那些不再用到的内存(变量),然后释放其内存。否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)。现在各大浏览器通常采用的垃圾回收机制有两种方法:标记清除,引用计数。标记清除:js中最常用的垃圾回收方式就是标记清除。当转载 2021-07-20 11:22:26 · 210 阅读 · 0 评论 -
JavaScript中try catch的用法。
try catch的用法你就可以理解为我们请求后台数据,then和catch一样,正常走try,异常走catch,接下来看一下代码示例,你就明白了上面一串代码可以看出来先执行了try,打印了1,但是2没执行,userty也没执行,可以看出当走到console.log(user)时,try程序中止了,因为user我们未定义,报错了,接着就走到了catch,首先打印了333,然后e.name是try里面出现异常的错误类型,e.message是报错问题的提示信息,这是try里面有异常的情况,在try函数里面没原创 2021-07-16 16:49:29 · 1332 阅读 · 0 评论 -
JavaScript需不需在结尾加分号
当然需要,加必须要加,不要为了方便省那一个符号,加分号的好处第一在代码打包压缩的时候不会因为你没加分号而产生莫名其妙的bug,加了分号结尾,解析器在编译的时候会知道到这里结束了,不加分号就是他自己去判断,如果解析判断失误程序就会卡住报错,而这个判断也是需要时间的,所以加分号有些情况下还是可以提高性能的;第二加了分号可以规范自己的代码编写习惯,对自己也是一件好事,何乐而不为呢;第三加了分号也可以提高代码的可读性,一看就知道那一句到哪执行完毕;...原创 2021-07-16 11:40:45 · 1203 阅读 · 0 评论 -
JavaScript驼峰命名法!
驼峰命名法顾名思义,就像骆驼的驼峰一样:驼峰命名法是编程里面的一种语法规范,细分为小驼峰和大驼峰,一般开发中基本都用小驼峰,大驼峰使用的相对较少,看个人开发习惯吧,一般我声明常量,全局变量或者全局函数会用大驼峰,,变量和函数都是小驼峰小驼峰命名法:小驼峰规范就是首个单词小写,后面的每个单词首字母大写let myUserInfo = "XXX" //声明变量const myUserInfo = 'XXX'//声明常量function getUserInfo() {} //声明函数大驼峰命名原创 2021-07-15 17:51:42 · 2361 阅读 · 0 评论 -
前端JS实现XML和JSON的格式互转
最近开发后端返回了XML格式的数据,我需要吧XML转JSON才可以使用数据,话不多说直接看代码首先下载需要的JS文件:JS相关代码,我的是小程序,其他开发同理引入调用就行了;let x2js = new X2JS();let xmlStr = '<xml><a原创 2021-06-10 16:39:54 · 1536 阅读 · 0 评论 -
js正则验证11位手机号码
let myreg=/^[1][3,4,5,7,8,9][0-9]{9}$/; // 正则let phone = 13581542451if(!myreg.test(phone)){ // 号码格式不正确 return console.log('请填写正确手机号码!')}原创 2021-03-31 17:29:39 · 2444 阅读 · 0 评论 -
什么是作用域和作用域链,简单几句话帮你搞明白!
作用域:作用域简单点来理解就是对象可以被调用的区域,或者可以使用的区域,下面一段代码简单理解一下,str的作用域就是整个fun()内部,str1的作用域就是fun1()内部fun() { let str = '1'; let fun1 = function() { let str1 = '2' console.log(str1,str) //1,2 } console.log(str) // 1 console原创 2021-01-21 15:44:26 · 2506 阅读 · 0 评论 -
js原型和原型链,简简单单几句话帮你弄明白!
原型是什么:原型我们知道每一个js对象都有自己的原型,而这个原型就叫prototype也就是_proto_,但是这个prototype里面到底有哪些东西呢,看看下图就知道了,我们创建一个数组,可以看到数组的最下方有一个_proto_属性,展开里面是一些列的方法,可以看到里面有我们很熟悉的数组方法比如splice,push等,这些就是这个对象的原型,原型没有那么复杂,里面存放的就是对象本身的一些方法和属性,你懂了吗?原型链是什么:原型搞明白了,原型链也就是个摆设,我们都知道js是会继承父级的属性的,所原创 2021-01-21 15:07:51 · 429 阅读 · 2 评论 -
JS保留小数点后面N个数字(四舍五入),一行代码解决!
var num =0.12454154;num = num.toFixed(2);//保留两位num = num.toFixed(n);//保留n位原创 2020-12-24 11:31:42 · 273 阅读 · 0 评论 -
五行代码帮你学会搞懂ES6新特性new Set()数组去重!
直接上代码看结果!先来一个简单的数据,里面包含数字,字符串布尔值,简单说就是简单数据类型,简单数据类型就是,数字,字符串,布尔值,undefined,null,这五个let arr = [1, 1, , '1', '1', true, true, undefined, undefined, null, null] let set = new Set(arr) //new Set进行筛选去重 let newarr = Array.from(set) //Array.fro原创 2020-12-11 11:55:08 · 825 阅读 · 0 评论 -
js调用函数如何传参以及接收,同时接收未知个数的参数
至于函数是什么我就不多做解释了,不会的自己去查资料,今天主要是分享想一下函数调用时传参以及接收参数,同时接收未知个数的参数!先来讲一下如何接收和传递参数,函数一定要先声明在调用//首先声明一个函数,这里是用的vue里面声明函数的方法,没有加functionfun1(data1, data2) { //这里的是data1,data2分别代表参数1,2 return data1 + dada2; //将传递来的两个数字相加并返回},//然后调用这个函数并传参let num = fun原创 2020-12-03 16:18:42 · 3988 阅读 · 6 评论 -
JS时间戳转化为年月日格式2020-10-20 23:10:58
很简单,在我们需要转化的时候直接调用getTime()方法,并传入参数,第一个是我们需要转化的时间戳,第二个参数是我们需要返回的时间格式类型,这里可以传入两个参数Y和H,Y返回年月日2020-10-20号的格式,H返回时分秒23:23:59格式,不传的话返回年月日加时分秒2020-10-20 23:10:58getTime(data, type){ //data时间戳,type返回的类型默认Y,可传参Y和H let time = new Date(data);原创 2020-11-24 11:40:03 · 2264 阅读 · 0 评论 -
深入简出,一个小例子帮你彻底理解JS同步异步!
同步:同步即为单线程,可以吧js需要执行的多个语句方法,理解为堵车,每个JS语句都是一辆车,必须等前面的车走了,下一辆车才可以继续前进,程序才可以继续执行,一旦上一辆车卡主,那后面的车全部动不了,都卡死了,程序也都不会执行了。异步:异步即为多线程,可以理解为去医院看病,比喻成程序的话就是每个病人都是一个程序,前面一个病人中途需要出去做检查,可能需要半小时才可以回来拿结果,但如果是同步,那就需要等半小时,他拿到检查报告回来取结果,在看下一位病人,但异步就不一样,这半小时继续看后面的,等他检查回来再拿结果就可原创 2020-11-17 16:18:30 · 217 阅读 · 0 评论 -
js字符超出指定个数显示省略号...超简单两行代码搞定
let str = 'js字符超出指定个数显示省略号'; //你要处理的字符串if(str.length > 10) { //如果字符长度超过10,后面的字符就变成...可自行调整长度和代替字符 str = str.substr(0,10) + "..." //截取从第一个字符开始,往后取10个字符,剩余的用...代替 }...原创 2020-09-03 14:39:24 · 7228 阅读 · 0 评论 -
js根据日期生成一个随机数id,根据时间戳生成随机数id
方法一简单粗暴:使用时间戳加上一个随机数生成一个id,这里是随机1-1000的,你可以修改自己需要的数组,吧1000改成100就是1-100了,使用时直接调用这个方法即可;getId() { //获取随机数id let date = Date.now(); let rund = Math.ceil(Math.random()*1000) let id = date + '' + rund; return id; },方法二看上去更加正规:先原创 2020-08-27 10:55:41 · 7435 阅读 · 0 评论 -
JS数组去重的方法及原理(全)
前端遇到最多的无非就是循环,判断,处理后台返回的数据了,那么今天介绍一下数组去重的几种常用方法。一,原创 2020-01-28 20:21:37 · 7289 阅读 · 4 评论 -
js字符串最新常用方法,字符串截取,字符串替换,字符串检索等
字符串检索 indexOf() 方法: let str= ‘一二三四五六’ let index = str.indexOf('二'); index = 1字符串截取检索substr() 方法: 第一个参数是开始截取的下标,第二个是截取的长度,可以不填,不填截取到最后一位 let newStr = str.substr(index,2); //newStr = ‘’二三‘’ let newStr1 = str.substr(index); //newStr = ‘’二三原创 2020-08-18 12:14:17 · 1131 阅读 · 0 评论 -
js同步异步是什么,常见的同步异步问题及解决方案,简单易懂适合刚入门的小白。
何为异步,何为同步,一篇简短的文章让你看懂;异步:异步最经典的就是http请求,比如ajax,axios,setTimeout等,异步就是程序在处理中还没处理完时,不会影响后面的程序执行,你可以理解把异步操作放在一个盒子里,他处理完了拿到结果自己从盒子里出来。常见问题:我们需要这个异步操作处理完了才执行下面的操作怎么办,放在以前我们会怎么做,这个函数处理完了,在调取另一个函数,有的索性直接不封装函数,一个方法吧逻辑全部写完,这样看起来代码冗余不说,函数调用的时候灵活性太低,有些函数我们一个页面用四次原创 2020-07-14 18:25:55 · 1212 阅读 · 0 评论 -
前端vue开发写js到底需不需要以 ; 结尾。
这个问题看个人习惯了,裸奔很爽而且看了舒服,就是大家说的可读性高,如果项目就你一个人开发的话看个人习惯就好,如果团队开发还是统一一下风格比较好,别一个团队写出千军万马就难搞了。其实要不要分号都不影响程序执行对于vue来说,但对于原生js的话还是带上分号比较好,因为大巴压缩后没有分号的话,有可能会上下两行代码当一个程序执行,但vue就不存在这个问题了,下面给两个图,自己比较一下吧————end…...原创 2020-07-14 11:37:24 · 2876 阅读 · 0 评论 -
前端递归循环部门树,根据pid找下级,无限遍历。
今天遇到一个奇葩事请,需要获取部门树,按道理因该是后端直接返回一个树状直接给我的,但是他只返回一个Array数组,让我根据pid找下级,自己组一个树状的,来就来,谁怕谁,直接上代码:这是后端返回的数据格式: [ {id: 1, organizationId: 1, name: "有限公司", pid: 0} {id: 2, organizationId: 1, name: "键管部", pid: 1} {id: 3, organizationId: 1, name: "技术部", pid:原创 2020-07-07 18:43:31 · 1696 阅读 · 1 评论 -
el-autocomplete报错toLowerCase方法为null
头疼了一下午,终于解决,话不多或少,看图吧:上面是报错信息,下面是页面显示解决办法,我也不知道为什么,看下图:querySearch(queryString, cb) { var restaurants = this.restaurants; for(let i = 0; i < restaurants.length; i++) { restaurants[i].value = restaurants[i].name+''; }原创 2020-06-29 18:03:38 · 1224 阅读 · 2 评论 -
npm和vscode启动项目报错 A complete log of this run can be found in:解决方法。
今天遇到一个问题,就是在npm 启动项目 npm run serve/dev的时候报了个错:A complete log of this run can be found in:报错如下图:项目启动不了,大概意思就是依赖包或者模板有问题,我们只需要找到node_modules把这个文件夹删掉,如下图:然后在运行npn install即可,从新安装一下我们的依赖包,在执行npm run serve/dev就解决啦这样项目就可以正常启动啦;............原创 2020-06-09 18:42:31 · 87017 阅读 · 15 评论 -
前端ES六新增Set数据结构介绍,以及用法,怎么使用Set进行数组去重。
Set是什么ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构,看下面代码你应该就明白了; let s = new Set(); [2, 3, 5, 4, 5, 2, 2].map(x => s.add(x)); for (let i of s) { console.log(i); //2,3,5,4 }再来看一下打印出来的数据结构,外层看了是对象,展开后类似于数组,我们循环添加并没有原创 2020-06-08 15:54:06 · 2316 阅读 · 0 评论 -
程序员摆地摊合适吗,有什么合适的副业兼职适合程序员互联网人的--深度好文!
今年不同往日,相信很多人都感到危机了吧,有失业的风险,特别是那些收入不是很高的程序员,我也包括在内哈,基本上都是月光族的人,会发现,自己如果一旦失业,手上的积蓄最多支持得了自己两三个月的开销,之后就必须去借钱或者找家里要了,想到这里,说明你还是一个有远见的人,那么解决方法无非就是找个其他事情捞点钱,让自己除了敲代码拿的那点稳定工资以外,还有其他的稳定收入,这样就不害怕失业了,而且还可以额外增加收入,岂不美哉,废话说的已经够多了,既然你看到了这篇文章,我觉得看到这里也基本明白,副业对一个程序员来说是必要的,废原创 2020-06-08 11:53:28 · 488 阅读 · 0 评论 -
有什么合适的副业和兼职适合程序员业余和下班做的?
今年不同往日,相信很多人都感到危机了吧,有失业的风险,特别是那些收入不是很高的程序员,我也包括在内哈,基本上都是月光族的人,会发现,自己如果一旦失业,手上的积蓄最多支持得了自己两三个月的开销,之后就必须去借钱或者找家里要了,想到这里,说明你还是一个有远见的人,那么解决方法无非就是找个其他事情捞点钱,让自己除了敲代码拿的那点稳定工资以外,还有其他的稳定收入,这样就不害怕失业了,而且还可以额外增加收入,岂不美哉,废话说的已经够多了,既然你看到了这篇文章,我觉得看到这里也基本明白,副业对一个程序员来说是必要的,废原创 2020-06-06 19:17:14 · 3817 阅读 · 9 评论 -
ES6新增for of方法和for in方法有哪些区别和不同点,两者的应用场景有什么不同,循环机制有什么不同!
要了解两者的不同还是用实例来说明吧,从最常用的两个遍历场景数组和对象来说吧:遍历数组:var arr = ['a', 'b', 'c', 'd'];for (let a in arr) { console.log(a); // 0 1 2 3}for (let a of arr) { console.log(a); // a b c d}从上面的结果可以看出,for in 遍历的是数组的key值,就是下标,而for of却遍历的是value值,就是数据本身,遍历数组的话,for原创 2020-06-05 18:40:02 · 458 阅读 · 0 评论