js相关
文章平均质量分 56
js之路
小张的前端之路
一起学前端
展开
-
js的深浅拷贝
浅拷贝和深拷贝都是对于JS中的引用类型而言的,浅拷贝就只是复制对象的引用,如果拷贝后的对象发生变化,原对象也会发生变化。只有深拷贝才是真正地对对象的拷贝上面这句话对深浅拷贝已经说的很明白了,为了更好的理解深浅拷贝,先得明白一些基础的概念。js数据类型数据类型Value存放位置基本数据类型String、Number、Boolean、Undefined、Null、Symbol栈内存引用数据类型Object、Array、Function堆内存栈内存、堆内存.原创 2021-07-05 20:20:34 · 239 阅读 · 0 评论 -
理解promise、promise.all、promise.race
一、promisePromise 对象代表了未来将要发生的事件,用来传递异步操作的消息。 Promise 对象有以下两个特点:1、对象的状态不受外界影响。Promise 对象代表一个异步操作,有三种状态:pending: 初始状态,不是成功或失败状态。fulfilled: 意味着操作成功完成。rejected: 意味着操作失败。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。这也是 Promise这个名字的由来,它的英语意思就是「承诺」,表示其他手段无法改变。2原创 2021-07-02 19:09:42 · 4312 阅读 · 0 评论 -
递归遍历tree类型,将所有某个属性放在一个数组里面,数组扁平化处理
const data = [{ name: '中国', children: [{ name: '教第三节课', }, { name: '食谱', children: [{ name: '大一', children: [{原创 2021-06-29 23:37:17 · 639 阅读 · 0 评论 -
ES5、ES6数组去重
ES6一、利用Set去重<script> function sole(arr) { return Array.from(new Set(arr)) } var arr = [1, 2, 3, 4, 1, 23, 4, 21, 2, 4, 1, 5] document.write(sole(arr)) </script>Array.from()方法就是将一个类数组对象或者可遍历对象原创 2021-06-28 00:02:41 · 1525 阅读 · 0 评论 -
js输出字符串中出现次数最多的字符与次数
function returnMaxStr(str) { //定义一个对象用于保存str的每一项以及出现次数。 var obj={}; // 去除字符串中的空格 str = str.replace(/\s*/g,""); //遍历str,循环其中的每一个字符,将某个字符的值及出现的个数拿出来作为json的key和value for(var i=0;i<st原创 2021-06-27 23:10:33 · 973 阅读 · 0 评论 -
防抖节流使用场景、vue中使用防抖和节流
文章目录防抖 (debounce):重在清零节流 (throttle):重在加锁第一种:直接使用第二种:封装公用的方法总结:百度了一下防抖和节流的使用场景:防抖 (debounce):重在清零防抖,顾名思义,防止抖动,以免把一次事件误认为多次,敲键盘就是一个每天都会接触到的防抖操作。想要了解一个概念,必先了解概念所应用的场景。在 JS 这个世界中,有哪些防抖的场景呢登录、发短信等按钮,避免用户点击太快,以致于发送了多次请求,需要防抖调整浏览器窗口大小时,resize 次数过于频繁,造成计算过多原创 2021-03-24 10:45:53 · 1142 阅读 · 2 评论 -
var a={}, b={key:‘b‘}, c={key:‘c‘}; a[b]=123; a[c]=456; console.log(a[b]);结果为什么是456?
今天在一个技术交流群里面看到这样一个问题:var a={},b={key:‘b’},c={key:‘c’};a[b]=123;a[c]=456;console.log(a[b]);//为什么是456?我也不懂什么原理,打印确实是456,那么一起来搞搞,看他为什么是456吧。开始猜测是属性值的覆盖,因为我也打印a[c]了,结果也是456,在查阅文档之后发现我是瞎猫碰上死耗子,a[b]的值为456是因为b跟c都作为对象,而普通对象的属性名如果是对象的话要先转为字符串,那这样下来的话,就是属性原创 2021-03-15 17:44:34 · 2074 阅读 · 0 评论