![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS
文章平均质量分 81
土豆Coder
博客只是为了记录我的学习工作求职之路所见
知识点的搬运工
毕业CQU 自动化专业 自学前端
热爱美食 火锅 羽毛球
前端之路继续走 想学的东西还特别多
学英文 学吉他 梦想有朝一日能成为羽毛球大咖 杀球吊球嘎嘎牛
人生理想就是怎么吃美食都吃不胖 怎么写bug都不会秃
嗝 今天的胃又是128G的噢~~~
展开
-
async-await:用同步的方式写异步代码
async/await 用同步的方式写异步代码原创 2024-01-16 11:26:28 · 998 阅读 · 0 评论 -
编译器和解释器:V8是如何执行一段JS代码的
JavaScript作为一种解释型语言,V8 在执行过程中既有解释器 Ignition 又有编译器 TruboFan原创 2024-01-12 11:17:23 · 948 阅读 · 0 评论 -
JS中垃圾数据是如何自动回收的
V8的垃圾回收机制针对栈空间的变量和堆空间的变量机制有所不同。栈空间的原始类型数据在销毁执行上下文时就会被回收。堆空间的垃圾回收机制会将堆分为新生代和老生代,对应的垃圾回收器分别为副垃圾回收器和主垃圾回收器,副垃圾回收器采用 Scavenge 算法,主垃圾回收器采用标记-清除的方式原创 2024-01-11 17:39:57 · 976 阅读 · 0 评论 -
JS栈和堆:数据是如何存储的
JavaScript原始类型数据值会被存储在栈空间中,引用类型数据值会被存储在堆空间中,栈空间中存储的只是这个引用类型数据的引用地址原创 2024-01-10 18:51:26 · 1017 阅读 · 0 评论 -
JS的this机制
comming soon…原创 2023-12-29 16:35:24 · 388 阅读 · 0 评论 -
JS作用域链和闭包
理解作用域和作用域链是理解闭包的基础原创 2023-12-29 15:57:42 · 914 阅读 · 0 评论 -
JS作用域:全局作用域,函数作用域,块级作用域
JS在ES6之后配合let和const有了块级作用域,弥补了var变量提升带来的设计缺陷原创 2023-12-28 15:14:10 · 970 阅读 · 0 评论 -
JS调用栈:为何会栈溢出
了解什么是JavaScript的调用栈,从而知道为何会出现栈溢出,才能知道如何在代码中尽量避免栈溢出原创 2023-12-28 10:13:05 · 1006 阅读 · 0 评论 -
JS变量和函数提升
JavaScript的变量和函数提升特性原创 2023-12-27 15:54:06 · 931 阅读 · 0 评论 -
js实现首尾相连左右循环切换效果
js实现首尾相连左右循环切换效果原创 2022-10-11 16:01:24 · 1288 阅读 · 1 评论 -
js导入Excel使用xlsx处理生成table和图表数据
js导入Excel使用xlsx处理生成table和图表数据原创 2022-10-09 15:29:53 · 1097 阅读 · 0 评论 -
动态抓取vedio元素帧显示,点击帧图像跳转回放视频
video抓取帧图片显示canvas原创 2022-09-27 17:08:39 · 977 阅读 · 0 评论 -
vue3+ts 列表虚拟滚动功能
虚拟滚动效果 vue3+ts项目中实现原创 2022-09-15 17:26:55 · 1198 阅读 · 1 评论 -
JS如何实现两个超大数相加
如果想要对两个超大的整数进行加法运算,但又想输出一般形式,使用+是无法达到的,因为一旦结果值超过Number.MAX_SAFE_INTEGER就会被转换成科学计数法,并且数字精度相比之前将会有误差,此时需要自己写一套加法算法,原理就是小学学习加减法时候的算法,相应位数字相加,满十进一。function addBigNum(a, b){ let arrA = a.split('').rever......原创 2019-06-18 11:47:51 · 4464 阅读 · 1 评论 -
defineProperty和proxy区别
从defineProperty和proxy区别理解vue2和vue3原理区别劫持(监听)方式不同defineProperty 劫持对象proxy 劫持对象欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入原创 2022-04-12 11:43:54 · 4603 阅读 · 8 评论 -
js二进制流下载,文件上传
JS 二进制流转成文件并下载,文件上传二进制流作为参数原创 2021-12-20 10:53:03 · 920 阅读 · 0 评论 -
es6 class及继承
es6 class及继承介绍介绍JS语言的传统方法是通过构造函数定义并生成新对象,是一种基于原型的面相对象的系统。es6 中新增加了类的概念,可以使用关键字class声明一个类,之后以这个类来实例化对象。......原创 2021-11-23 09:45:47 · 885 阅读 · 0 评论 -
JS中函数的this指向
js中函数的this指向说明普通函数箭头函数应用对比说明JS中关于函数的this的指向问题根据不同的情况会指向不同的对象,这里只针对一些简单常用的场景进行说明,并对es6的箭头函数中的this指向进行对比普通函数普通函数内部的this对象指向的是在函数执行时绑定的对象,也就是说函数创建的时候是没办法确定这个this到底指向的是谁的function fn() { console.log(this) // 创建时this没有指向性}fn() // 执行时才确定this指向,因为是在window原创 2021-11-19 14:15:35 · 813 阅读 · 0 评论 -
es6 迭代器iterator
es6 迭代器迭代for...in... VS for...of...问题可迭代构建迭代迭代for…in… VS for…of…我们一般理解的就是for...in...用来循环遍历数组或对象的属性key值for...of...用来循环了遍历数组或对象的属性值看例子:var eles = document.querySelectorAll('*')console.log(eles)我们分别使用这两个迭代对象来遍历一遍问题是不是总是这样呢?我们新建一个对象再来试一下var obj原创 2021-11-19 11:16:31 · 900 阅读 · 0 评论 -
彻底搞懂JavaScript单线程异步执行机制
带你彻底搞懂JavaScript单线程异步执行机制关于JavaScriptajax关于JavaScriptJavaScript是一门单线程语言 一切JavaScript中说的多线程都是纸老虎 本质都是用单线程模拟出来的本文的目的就是彻底弄懂JavaScript的事件循环的执行机制。首先,不论你是面试求职,还是日常的开发工作,给定的几行代码,我们需要准确的知道代码执行输出的结果,也就是代码执行的顺序。因为JavaScript是单线程语言,所以它的语句都是顺序执行的,也就是同步任务。但是,如果加载一个包原创 2021-07-22 11:35:29 · 1844 阅读 · 2 评论 -
js构造函数和new
构造函数new操作符都经历了什么new 操作符创建新实例时实际经历了什么步骤new 操作符创建新实例时实际经历了什么步骤原创 2021-07-21 15:55:34 · 261 阅读 · 0 评论 -
单输入框表单enter后页面刷新
2019.01.11今天在做一个搜索功能时发现,输入搜索字后点击搜索按钮没问题,但是按下enter键页面就刷新了一下,我就纳闷了,为啥之前写的都没有问题,就这里不能enter搜索,难道是因为前端搜索就不行?那也没道理啊,最终才发现:原来是因为,当<form>表单中只有一个输入框时enter键会执行表单的默认提交事件并刷新页面。解决办法:处理表单的默认行为<form ons...原创 2019-06-18 13:54:27 · 275 阅读 · 0 评论 -
图片,base64,formData,Blob
前端图片上传背景定义formData创建空对象使用已有表单初始化对象base64canvas转base64file转base64二进制流背景图片上传是一个非常common的功能,当上传的时候难免需要跟后端人员协商传过去的参数是什么类型或者什么格式,这里就涉及到三个概念:formDatabase64二进制流作为一个从建筑电气转行过来的半路出家的前端开发人员(I am completely confused!),这三个概念在上传图片的时候分别表示什么意思?本地图片如何转化格式并提交给后端呢?定义原创 2020-06-10 10:44:06 · 1511 阅读 · 0 评论 -
Promise原理和使用
Promise原理和使用原创 2019-01-29 14:07:46 · 3215 阅读 · 0 评论 -
JS实现bind()
JS实现bind()方法bind()最简单的用法是创建一个函数,使这个函数不论怎么调用都有同样的this值。常见错误常见的错误就是将方法从对象中拿出来,然后调用,并且希望this指向原来的对象。错误示范如下:var altwrite = document.write;altwrite("hello");//报错因为altwrite方法是在window上进行调用的,函数内部的this指...原创 2019-06-19 10:29:48 · 196 阅读 · 0 评论 -
前端常见算法题
1、冒泡排序function bubbleSort(arr) { for(let i = 0,l=arr.length;i<l-1;i++) { for(let j = i+1;j<l;j++) { if(arr[i]>arr[j]) { let tem = arr[i]; ...原创 2019-06-19 10:28:04 · 597 阅读 · 0 评论 -
前端图片懒加载和预加载
懒加载场景:对于图片过多的页面,为了加快页面加载速度,需要将页面内未出现的可视区域内的图片先不做加载,等到滚动可视区域后再去加载。原理:img标签的src属性用来表示图片的URL,当这个属性值不为空时,浏览器就会根据这个值发送请求,如果没有src属性就不会发送请求。所以,在页面加入时将img标签的src指向为空或者指向一个小图片(loading或者缺省图),将真实地址存在一个自定义属性data...原创 2019-06-19 10:26:00 · 1861 阅读 · 0 评论 -
JS中不同方法如何实现继承
构造函数首先来一个父类的构造函数// 父类function Person(name, age, sex){ this.name = name; this.age = age; this.sex = sex;}Person.prototype.personLogAge = function(){ console.log(this.age);}let person1 = ...原创 2019-06-19 10:00:32 · 284 阅读 · 0 评论 -
如何理解js中的函数节流和防抖
比如:浏览器窗口的变化resize事件,元素的鼠标悬浮mouseover事件,多数据页面的滚动scroll事件等等。这些事件处理不当,高频触发回调函数过重,很容易导致浏览器的卡顿,假死现象,当然了,特别是针对IE。针对这类情况,通常使用函数节流和函数防抖对其进行优化。函数节流代码每隔一段时间执行一次var canRun = truedocument.getElementById('xxx'...原创 2019-06-19 09:56:31 · 164 阅读 · 0 评论