JavaScript
文章平均质量分 77
JavaScript
sonicwater
这个作者很懒,什么都没留下…
展开
-
记录 pl-table 表格头部文字抖动的问题
本文记录一个实际开发中 pl-table 的问题,项目比较老,vue还是2.x版本。pl-table 是基于 el-table 改造过来的表格展示组件,已经停止更新。原创 2023-08-10 11:36:10 · 1184 阅读 · 0 评论 -
vue页面回退或关闭, 发送请求不中断
最近做项目有个需求: video 播放视频中,点击浏览器回退按钮调用接口统计观看时长。原创 2022-06-17 18:39:37 · 3883 阅读 · 1 评论 -
JavaScript 数组相关方法实现
实现一些数组相关方法原创 2021-04-08 14:34:34 · 198 阅读 · 0 评论 -
JavaScript 实现 call、apply、bind
JavaScript 实现 call、apply、bind原创 2021-03-29 19:01:17 · 130 阅读 · 0 评论 -
JavaScript 模拟实现栈(Stack)
栈,数据结构的一种,它遵循后进先出(Last in, First out,LIFO)的原则。我喜欢把 栈 比喻成一个类似乒乓球桶的容器,桶的底部是封口的,顶部是开口的,桶的横切面也是一个圆形,它的直径等于乒乓球的直径,也就是放入一个乒乓球后,再放第二个乒乓球势必压在第一个球的正上方。最先入栈的 球1 在乒乓球桶的最底部(栈底)。最后入栈的 球4 在乒乓球桶的最顶部(栈顶)。球4 入栈后,若要从栈中取乒乓球,最先取到的一定是 球4。要从栈中取到 球1,需要先取出 球1 上面的所有球,最后才能.原创 2021-03-17 17:26:08 · 496 阅读 · 0 评论 -
JavaScript 实现 FIFO 缓存
FIFO (First Input First Output),先入先出队列(Queue),数据结构的一种。它的特征是按序执行指令,先进入队列的指令先完成并出队列,跟着才执行队列第二个指令。原创 2021-03-17 10:53:33 · 394 阅读 · 0 评论 -
JavaScript 防抖(debounce)、截流(throttle)
防抖,如果在N秒内高频执行某个操作会触发一个函数,我们希望在N秒后只执行一次该函数。N秒未到时又执行这个操作,从零开始计时直到N秒结束再执行该函数。截流也是在N秒内高频执行某个操作,结果是按传入的毫秒数作为时间间隔,连续调用目标函数。原创 2021-03-16 15:43:50 · 1701 阅读 · 1 评论 -
JavaScript学习(十) —— OOP之对象
JavaScript支持面向对象(Object Oriented Programming, OOP)编程,面向对象代码的封装和实例化对象等操作都非常优雅,它和闭包结合自执行函数实现封装的方式非常不同,向高手进阶的前端同学一定要掌握。原创 2021-03-01 17:42:29 · 149 阅读 · 0 评论 -
JavaScript学习(九) —— 函数式编程
函数式编程(Functional Programming)是种编程范式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。原创 2021-02-19 15:43:08 · 516 阅读 · 0 评论 -
JavaScript学习(八) —— 函数
函数在JavaScript中是很特别的存在,之前介绍过的函数调用栈、执行上下文、变量对象、作用域和作用域链、this的确认、闭包等都和函数相关。这里介绍一些关于函数之前没提到的内容。原创 2021-02-19 15:21:17 · 817 阅读 · 0 评论 -
JavaScript学习(七) —— call、apply、bind
介绍完this的指向问题,有必要专门说一下call、apply、bind三个能改变this指向的函数方法。在JS中,函数本身也是对象,它也有构造函数(Function),call、apply、bind三个方法定义在函数的构造函数的原型上(Function.prototype),我们声明的函数(即一个Function的实例化对象)都会获得这三个方法。先对比一下call和apply方法:var str = 'global';var obj = { str : 'local'}function.原创 2021-02-04 17:02:47 · 197 阅读 · 0 评论 -
JavaScript学习(六) —— this
在函数作用域中使用this,想一想有没有一些场景让你感到困惑,this指向不是你期望的结果。一时又不知道问题出在哪,需要重新去看this相关的知识,这篇文章就要详细解释this。原创 2021-02-03 15:18:04 · 223 阅读 · 0 评论 -
JavaScript学习(五) —— 闭包
本文要结合之前介绍过的一些JS机制,解释闭包的特性。解释闭包我一直认为用一段抽象的文字解释一个复杂的概念,写的人累,看的人也会累。用一个实际例子说明闭包,简单省事:function A(){ // A函数 var n1 = 10; var n2 = 20; function B(){ // B函数 return n1 + n2; } return B;}var n = A();console.log(n()); // 30上面代码中,有一个定义在全局上下文.原创 2021-01-27 19:00:39 · 318 阅读 · 1 评论 -
JavaScript学习(四) —— 作用域、作用域链
因为ES6有了块级作用域,我们还是以ES5为基础。回顾一下前一篇文章变量对象、活动对象,其中有关于在函数级作用域中变量提升和函数提升的JS特性的部分内容。本文结合之前几篇系列文章,讨论和作用域、作用域链有关的问题。原创 2021-01-26 15:37:54 · 313 阅读 · 1 评论 -
JavaScript学习(三) —— 变量对象、活动对象
JS代码在浏览器中运行时,解释器执行代码到调用某个函数时,被调用的函数加入Call Stack栈,创建对应这个函数的执行上下文,在这个当口,解释器接下来做了什么?原创 2021-01-08 19:08:42 · 1164 阅读 · 0 评论 -
JavaScript学习(二) —— 执行上下文
我们编写的JS代码在运行时经过了两个步骤:编译过程:在编译过程中生成执行上下文,和生成可执行代码。执行过程:执行可执行的代码,输出结果。在创建执行上下文的时候会先确定当前代码所在的执行环境。执行环境有三种:全局环境:JS代码运行时会首先进入全局环境,对应创建全局执行上下文函数环境:当调用函数时,会创建这个函数的执行上下文eval(不推荐使用,暂且忽略)JS代码运行时会首先进入全局环境,创建全局执行上下文。全局环境只有一个,全局执行上下文也只有一个。但是在这个全局环境中可能有一个或多个原创 2021-01-07 18:23:11 · 407 阅读 · 2 评论 -
JavaScript学习(一) —— 内存机制
作为前端开发,应该很少有人关注与内存有关的部分。我在刚入门前端开始学习有关闭包、作用域(链)、深拷贝对象、按值和引用传递等概念时,经常以为自己弄懂了,可遇到实际问题时又很糊涂。本次记录一下js的内存机制。1...原创 2021-01-04 18:01:43 · 1584 阅读 · 0 评论