JavaScript
文章平均质量分 65
JavaScript学习笔记,主要学习《JavaScript权威指南》及《JavaScript高级程序设计》。
Yolanda_NuoNuo
女程序媛,瑜伽教练
展开
-
浏览器渲染原理总结(重绘和重排)
如果还有什么不明白,可以参考这两篇,讲的很不错~MDN浏览器渲染原理问我Chrome浏览器的渲染原理(6000字长文)原创 2021-08-26 00:39:35 · 210 阅读 · 0 评论 -
前端内存泄露问题总结篇(包括Vue和echarts)
本文以思维导图形式整理了内存泄露知识图谱一、引起的原因及解决方法,主要是注意闭包、全局变量和定时器、监听事件等二、vue中的常见内存泄露,主要是1、注意mounted(onMounted)的时候如果定义了一些全局变量,或者是定时器、监听事件这种的,要在beforeDestroy(beforeMounted)中释放或者移除掉2、echarts用定时器获取数据的,也是注意在合适的时间移除掉定时器切换页面(页面销毁)时注意对echarts实例做clear()或者dispose()三、如何利用devTo原创 2021-09-15 14:51:43 · 2265 阅读 · 1 评论 -
JavaScript实现二叉树前中后序遍历(递归和非递归分别实现)
JavaScript实现二叉树的前中后序遍历(递归和非递归)一、来一棵绿绿的二叉树1、binary-tree.jsconst binaryTree = { val: 'a', left: { val: 'b', left: { val: 'd', left: null, right: null }, right: { val:原创 2021-07-23 13:33:28 · 1433 阅读 · 2 评论 -
Javascript核心知识之灵魂画手绘制eventloop事件轮询机制
传说中前端面试必考的异步问题—eventloop机制,又来总结一下~身为笔记狂魔的阿婆主整理了好多好多笔记,多到令人发指!!!后面会慢慢发出来分享~像JavaScript的异步是就是一大块,要说清楚,显得有条不紊,还是要花费一点时间再整理一下的~一、event loop是啥子1、event loop指的是事件循环/事件轮询的机制像我们这种还做后端的小可爱们,会在发现JS是单线程语言的时候,小小的脑阔里充满了大大的疑问(1)JS为毛是单线程的呢?(2)那JS是怎么实现异步的呢?2、自问自答~原创 2021-07-20 00:24:34 · 255 阅读 · 3 评论 -
JavaScript手写系列之手写深拷贝
传说中前端面试必考的手写系列之,实现深拷贝~1、思路就是递归实现啦~然后要注意先判断是不是数组,因为数组和对象都是引用类型,如果用instanceof判断呢,因为都在同一条原型链上,2、编码实现const obj1 = { name: 'Yolanda', age: 18, info: { array: [1, 3, [4, 8, 0], [2, 4, 7]], friends: { male: { name: '原创 2021-07-07 23:06:32 · 1282 阅读 · 16 评论 -
JavaScript核心知识之防抖和节流
总结一下传说中前端面试必问的防抖和节流问题~一、防抖和节流是干撒子用的呢这两个看起来是很高级的概念,但是其实也并不难~都是用来减少频率用滴~是一种性能优化来的这是什么意思嘞就是利用函数setTimeout实现的两个东东二、防抖(一)应用场景比较常见的场景,就是说从前有一个表单,表单包括有一个输入框,有时候要做成不按回车键这种手动提交表单的,是一输入啥就自动给你提交的。害!就类似于vue里面是那种响应式的,v-model绑定那种,你输入框输入啥,底下就实时刷新数据的那种,你明不明啊~有时候就原创 2021-06-28 22:01:39 · 389 阅读 · 8 评论 -
JS匿名函数Uncaught TypeError: x is not a function
一、背景描述今天遇到了一个小问题,我要记录一下~就是这个类似这个亚子的一个代码片段function test() { console.log('xixi')};const a = 1(function func1() { console.log('haha')})()然后它就报错了,就是报这个错Uncaught TypeError: 1 is not a function二、问题分析这个是因为匿名函数前的这个语句const a = 1木有加分号三、解决办法方法一、原创 2021-06-08 22:54:03 · 761 阅读 · 2 评论 -
Cannot read property ‘then‘ of undefined
今天在写一个异步小demo的时候,报错说Uncaught TypeError: Cannot read property ‘then’ of undefinedat 7-async-2.html:36在仔细的检查以后,发现自己在函数中忘记返回Promise对象了,特此记录一下~完整代码片段<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta h原创 2021-06-07 21:38:24 · 1174 阅读 · 0 评论 -
JavaScript实现Leetcode933-最近的请求次数
JavaScript算法与数据结构队列之Leetcode933-最近的请求次数一、队列1、先进先出2、JavaScript中没有队列,用Array实现const queue = [];queue.push(1);queue.push(2);const item1 = queue.shift();//1const item2 = queue.shift();//2二、Leetcode933-最近的请求次数1、https://leetcode-cn.com/problems/number-原创 2021-06-03 20:15:35 · 259 阅读 · 3 评论 -
JavaScript实现Leetcode20-有效的括号(Set,Map,字符串替换三种方式实现)
JavaScript算法与数据结构栈之Leetcode20-有效的括号题解一、栈1、后进先出2、 JavaScript用Array实现栈const stack = [];stack.push(1);stack.push(2);stack.pop();stack.pop();二、栈的应用场景1、十进制转二进制为毛呢,因为一个十进制熟除以2的余数,最先除出来的余数放在最高位上,随手实现了一个const translate = (num) => { let stack =原创 2021-06-03 18:31:54 · 371 阅读 · 1 评论 -
Javascript核心知识之执行上下文和JavaScript引擎执行机制
一、背景描述写这篇博客的原因是今天看了一个小例子,我不懂,有一点不理解,它是这个样子的 function foo() { console.log('1111111'); } var foo = function() { console.log('2222222'); } foo();// 2222222这个没啥不懂的,主要是然后给它换个顺序 var foo原创 2021-05-28 22:13:03 · 234 阅读 · 1 评论 -
JavaScript实现冒泡排序及双向冒泡排序
前端经典算法题(一)之冒泡排序及双向冒泡排序一、背景介绍1、我在干嘛?用JavaScript写一个冒泡排序算法2、什么是冒泡排序?啊这。。。怎么说呢?冒泡排序就是这个那个,冒泡嘛,你懂的,就是这样那样,然后再这样那样再排一下顺序~^-^就是冒泡排序好吧,我认真说~且看????下图就是每一轮,跟右边相邻的元素比较大小,比右边大,就跟右边换个位置二、手写一个冒泡排序其实只要理解了冒泡排序是啥意思,就知道这是一个双重for循环实现的,那就来吧~(一)最简单最基本的冒泡排序1、为了看清楚是原创 2021-05-08 23:32:24 · 693 阅读 · 7 评论