![](https://img-blog.csdnimg.cn/7a3655df326f49a19c5294e05f857447.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaScript
文章平均质量分 59
JavaScript
AI3D_WebEngineer
这个作者很懒,什么都没留下…
展开
-
ES6 class类关键字super
在 JavaSCript 中,能通过 extends 关键字去继承父类。原创 2023-10-07 14:28:40 · 529 阅读 · 0 评论 -
ES6 class类的静态方法static有什么用
在项目中,工具类的封装经常使用静态方法。这里用class并不是让我们去生成AMapHelper实例,就算你生成实例,你也无法调用里面的static方法(静态方法无法被实例调用)。只能通过AMapHelper .getAMap 直接调用。为什么这么写呢?一是无需要实例化即可调用方法,节约了内存空间。二是无法被实例继承,也不会收到实例数据影响。保证了隐秘和私密性。原创 2023-10-07 13:54:05 · 495 阅读 · 1 评论 -
[经典面试题]JS的typeof和instanceof区别
typeof会返回一个变量的基本类型,instanceof返回的是一个布尔值typeof是一元运算符 instanceof是对象运算符typeof 更合适判断基本类型,对引用类型、构造函数的实例对象以及null无法判断出准确类型instanceof 用于判断实例对象是否是某一构造函数的实例化对象,从而判处该对象所属的类型。这种方式是通过原型链查找。原创 2023-09-06 23:38:15 · 364 阅读 · 0 评论 -
JS中的字典和散列表
介绍JS中的字典与散列表原创 2023-06-28 09:22:01 · 595 阅读 · 0 评论 -
[JS与链表]普通链表
用JS实现普通链表的数据结构原创 2023-03-17 11:37:47 · 561 阅读 · 0 评论 -
JS数据结构与算法 — 队列
队列与双端队列原创 2023-03-13 14:11:22 · 319 阅读 · 0 评论 -
数据结构与算法---JS与栈
用JS实现栈类,关注数据存储方式的时间复杂度,关注如何保护内部数据,栈类的应用等原创 2023-03-09 18:27:10 · 449 阅读 · 0 评论 -
通过堆栈分析深拷贝、浅拷贝、赋值的差异
介绍深浅拷贝、堆栈知识和json.parse的弊端原创 2023-03-07 17:20:06 · 330 阅读 · 0 评论 -
JS里的排序算法
讲解常见的四种排序算法原创 2023-03-02 17:46:53 · 238 阅读 · 0 评论 -
js与科学计数法
讲解js在科学计数法中的应用原创 2023-03-01 12:00:51 · 1693 阅读 · 0 评论 -
isNaN、Number.isNaN、isFinite、Number.isFinite
介绍isNaN、Number.isNaN、isFinite、Number.isFinite的差别原创 2023-02-21 17:21:22 · 535 阅读 · 0 评论 -
JS中1除以0(1/0)和0除以0(0/0)的结果
JS中1除以0(1/0)和0除以0(0/0)为什么是无穷和NaN原创 2023-02-21 16:14:19 · 1322 阅读 · 0 评论 -
JS中数组如何去重(ES6新增的Set集合类型)+经典two sum面试题
JS中数组如何去重(ES6新增的Set集合类型)原创 2023-02-21 11:59:47 · 499 阅读 · 0 评论 -
ES6的迭代器与迭代协议Symbol.iterator
介绍ES6的迭代器与迭代协议。讲解Symbol.iterator和entries keys values提供的数组迭代器原创 2023-02-21 09:15:53 · 584 阅读 · 0 评论 -
valueOf与toString js中的数据转换
valueOf与toString js中的数据转换原创 2023-02-16 16:57:55 · 180 阅读 · 0 评论 -
数据结构与算法-数组
介绍js算法结构-数组原创 2023-02-16 14:15:55 · 377 阅读 · 0 评论 -
[js基础]ECMAScript2015(ES6)精要知识点(下)
ES6知识点讲解原创 2023-02-09 18:03:02 · 455 阅读 · 0 评论 -
Vue2的双向绑定真的就是观察者模式吗?
Vue2的双向绑定真正包含的设计模式原创 2023-01-14 14:31:20 · 817 阅读 · 0 评论 -
[JSDoc]多类型变量
多类型变量写法原创 2022-07-07 22:24:24 · 450 阅读 · 0 评论 -
[js基础]ECMAScript2015(ES6)精要知识点(中)
1、增强的对象属性1-1、数组解构可一次性初始化多个变量。let [x,y] = [3,4];console.log(x); // 3console.log(y); // 4上面的代码等同于:let x = 3;let y = 4;我们也可以这么批量赋值/改值变量;let x;let y;.....[x,y] = [7,8];console.log(x) // 7console.log(y) // 8数组解构还可以用于赋值互换。这么做的好处是不需要创建临原创 2022-05-30 15:44:53 · 198 阅读 · 0 评论 -
[js基础]ECMAScript2015(ES6)精要知识点(上)
1.ES6的兼容性ES6在各大浏览器兼容性查询ECMAScript 6 compatibility tablehttp://kangax.github.io/compat-table/es6/1-1 Babel.jsBabel是一个JavaScript转移器。它将使用了ES语言特性的JS代码转换成只使用广泛支持的ES5特性的等价代码。Babel可以在项目中使用,也可以再浏览器查看转换效果。Babel · The compiler for next generation JavaScrip原创 2022-05-27 16:27:20 · 122 阅读 · 0 评论 -
Vue获取元素或组件内容$refs
Jquery中我们可以通过$('.className')或者$('#ID')来获取元素的值或者内容,而在Vue中我们可以通过this.$refs来获取标签元素的内容或值。$("#id").text('xxx') // 使用Jquerydocument.getElementById("id") // 使用原生Dom<template> <p ref="textElement">1111</p></template><scri原创 2022-03-22 16:18:41 · 3267 阅读 · 0 评论 -
闭包与应用
什么是闭包?var a = 123;function consoleA() { console.log(a);}consoleA能访问到外部变量a,这就实现了闭包。「函数」和「函数内部能访问到的变量」的总和,就是一个闭包。一般怎么用// util.jsfunction player() { let hp = 100; function outPutHP() { return `hp:${hp}` } return o原创 2022-03-22 15:35:22 · 70 阅读 · 0 评论 -
forEach到底能不能改变数组里元素的值?
先来看这个代码:let arr = [ {name:'a'}, {name:'b'}, {name:'c'}];arr.forEach((item,index) => { if (index === 1) { item = {name:'B'} }});console.log(arr);结果是forEach修改元素不生效,那么我们改一下:let arr = [ {name:'a'}, {name:'b'原创 2022-03-18 15:50:42 · 2827 阅读 · 0 评论 -
ForEach不支持async/await?怎么处理?
一、问题场景function showData(data) { // data是个数组 里面的值需要转换后再进行展示 data.forEach(async t => {const a = await myformatter(t); console.log(a)} ); console.log('全部转换完毕')}const myformatter = (t)=> new Promise(reslove=> {原创 2022-03-18 10:37:05 · 1026 阅读 · 1 评论 -
for循环的优雅替代
场景:function aaa() { const b = [1,2,3]; for (let a =0;a<b.length;a++){ console.log(b[a]) } for(let a = 0;a<=3;a++) { console.log(a); }}aaa();优雅替代:function aaa() { const b = [1,2,3]; b.forEach(item => console.log(it原创 2022-03-15 15:55:29 · 188 阅读 · 0 评论 -
对象如何使用变量做key键
工作中,需要将变量用作对象键名,则需要这么处理:const keyName = 'key1';let obj = {};obj[keyName] = 232435423;obj;=> {key1:232435423}原创 2022-03-15 11:29:04 · 1362 阅读 · 0 评论 -
数组填充 Array().fill()
解释:ES6为Array增加了fill()函数,使用制定的元素填充数组,其实就是用默认内容初始化数组简单应用:// 创建空数组,并往空数组添加5个3Array(5).fill(3)=> [3,3,3,3,3]语法:fill(value) 值 开始位置fill(value, start)值 开始位置fill(value, start, end) 值 开始位置 结束位置(end - 1为实际结束下标)const arr = [1,2,3,4,5,6];...原创 2022-03-15 11:19:21 · 2887 阅读 · 0 评论 -
js关于颜色hex、rgb的转换和对调整颜色深浅的处理
//hex颜色转rgb颜色export function HexToRgb(str) { var r = /^\#?[0-9A-F]{6}$/; //test方法检查在字符串中是否存在一个模式,如果存在则返回true,否则返回false if (!r.test(str)) return window.alert('输入错误的hex'); //replace替换查找的到的字符串 str = str.replace('#', ''); //match得到查询数组 var hxs .原创 2021-10-21 09:40:43 · 1518 阅读 · 0 评论 -
$attrs和$listeners的应用
引言多级组件嵌套需要传递数据时,通常使用的方法是通过vuex。如果为了传递数据而无中间层处理,则可以使用Vue中提供的$attrs和$listeners父子AB组件通讯A to B 通过props的方式向子组件传递,B to A 通过在 B 组件中 $emit, A 组件中 v-on 的方式实现/** 组件A */<template> <compoentB @data-add="handleA...原创 2021-09-22 18:50:23 · 1855 阅读 · 0 评论 -
怎么实现Echarts对比图
实现效果:实现方法:Step1:建立两组柱状图,并分别隐藏它们的Y轴。Step2:建立第三个坐标系用来显示Y轴并隐藏它的X轴为什么需要底轴?左侧轴右侧轴不含底轴不含底轴,左侧轴翻转实现原理在于两个侧轴翻转,再用底轴做Y轴展示(底轴的X轴被隐藏)详解代码:代码由四部分组成:xAxis、yAxis、series、grid先看xAxis"xAxis": [ //左侧轴 { "type": "value",...原创 2021-09-17 12:00:26 · 1929 阅读 · 0 评论 -
forEach内部异步执行顺序调整
新建Promise方法模拟接口function outputValue() { return new Promise(function(resolve,reject){ setTimeout(()=>{resolve('成功')},2000) }).then((result,reslove,reject)=> {console.log(result)})}执行结果:新建一个数组a.forEach(item => {console..原创 2021-09-15 16:50:50 · 982 阅读 · 0 评论 -
数组去重并抓取重复下标
在实际工作中,我们会遇到关联数组的去重处理。比如:{class:[A,B,C,A,B,C],scores:[100,200,100,300,400,600]}现在我需要把class数组里的元素去重,并把scores里面对应下标的分数进行汇总,我应该怎么做?var a = [1,2,2,2,3,3]// 请注意,这里一定要存值长度而不要写在for里,因为数组剪切后长度会变化const length = a.lengthlet move = 0;for (var i=0; i<.原创 2021-09-13 16:50:37 · 319 阅读 · 0 评论 -
【JS】 ~~运算符
将一些变量转化为Number(数字)类型应用场景:数字类型的字符串可以转化为纯数字var a='123';console.log(~~a); //输出123字符串中带了其他字母,符号,或者其他除数字外的东西,一律输出 Number类型的0var a='asd';console.log(~~a); //输出0任何boolen类型的,如果为TRUE则输出1,FALSE输出0;var a=1==1;console.log(~~a);//输出1特殊类型,转化为Boole..原创 2021-09-09 10:54:13 · 282 阅读 · 0 评论 -
【JS】!!转换符的用法
一、!的作用!可将变量转换成boolean类型,null、undefined和空字符串取反都为false,其余都为true。!null=true !undefined=true !''=true !100=false !'abc'=false二、!!的作用!!常常用来做类型判断var a;if(a!=null && typeof(a)!=undefined && a!=''){ //a有内容才执行的代码 }可.原创 2021-09-09 10:46:48 · 93 阅读 · 0 评论 -
图标ICON快速置灰
业务场景新业务开发中,部分功能图标入口尚未完成开发,需要屏蔽。屏蔽前:屏蔽后:快速置灰 css样式.overdue { filter: grayscale(100%); opacity: 0.7;}Vue <x-icon v-if="checkExist(chart.type)" :class="$style.icon" :type="chart.icon"/>&...原创 2021-08-16 14:56:17 · 464 阅读 · 0 评论 -
如何展开一个多维数组
var entries = [1, [2, 5], [6, 7], 9];var flat_entries = [].concat(...entries); // [1,2,5,6,7,9]原创 2021-08-11 10:41:44 · 361 阅读 · 2 评论 -
Array数组reduce方法与数组累加、去重
一、reduce 定义reduce是一个聚合的方法,它可以将数组中的每一项通过叠加变成一项。 例子var arr = [1, 2, 3, 4, 5];arr.reduce(function(prev, cur, index) { console.log(prev); console.log(cur); console.log(index);})console.log(arr); // 返回[1, 2, 3, 4, ...原创 2021-08-09 10:50:39 · 2732 阅读 · 0 评论