JavaScript碎片式总结
文章平均质量分 72
一些js学习碎片总结
Z^x
这个作者很懒,什么都没留下…
展开
-
纯函数&函数式编程
今天在复习js的时候,看到函数式编程的时候,里面提到了纯函数的概念。原创 2023-05-10 14:19:24 · 47 阅读 · 0 评论 -
client&offset&scroll
今天复习的时候看到了图片懒加载这个技术,最简单的方法就是判断用户可视窗口的距离和要懒加载的图片的距离,借此进行判断是否要更改src中真正的请求路径;这种通过js实现懒加载的方式需要对可视窗口的距离进行判断,所以此文记录下client&offset&scroll这三个属性的区别和用法;原创 2023-05-11 08:29:28 · 44 阅读 · 0 评论 -
变量声明提升&函数声明提升
在ES6中,提出了块级作用域和let&const关键字,这就出现了变量提升的概念;因为let&const关键字并不能进行变量提升;而var关键字可以;具体的提升过程可以去看一下我js分类中的js变量提升一章,那里有详细的介绍;原创 2023-05-04 15:21:15 · 53 阅读 · 0 评论 -
JS高级 原型链
通过构造函数可以设置对象的公有属性,但实例对象的方法通常是不相同的,但每一次创建对象添加不同的方法就需要不断开辟空间,很浪费内存,所以设置出一个原型对象来存储这些方法:当我们通过实例对象来调用方法时,会先在实例对象中寻找方法名并执行,如果没有,就到实例对象中寻找方法名并执行;那么根据上面的总结,构造函数有prototype属性来指向其原型对象,而每一个对象都有__proto__属性指向其原型对象,那么一定会有一个原型对象:如下图。来指向其构造函数,也就是说,这个原型对象是属于哪一个构造函数的。原创 2022-08-06 10:27:22 · 96 阅读 · 0 评论 -
关于js的设计模式
举个例子 假如现在我们有一个房子 还有一堆杂七杂八的衣服裤子 那我们如果想把衣物保存在这个房子里面 方法有很多 最简单的就是直接放在地上 这样是最简单的方式 但是从另一个维护层面来讲 它又太杂乱了 不好梳理 那么我们可以选择买一个柜子来对这些衣物进行分类处理 虽然会多出买衣柜的钱 但是整理起来更加方便 看起来也更加整洁优雅 这就是两种设计模式。原创 2023-03-26 16:28:17 · 63 阅读 · 0 评论 -
js特性 面向对象
面向过程就像在上帝视角安排每个人该做什么 应该按怎么个流程去做面向对象就是根据自己要做什么 自己去做 自己去完善扩展以上就是我对js面向对象的一些看法。原创 2023-03-26 16:42:48 · 25 阅读 · 0 评论 -
关于DOM
BOM是浏览器对象模型,DOM是文档对象模型,BOM包含DOM,DOM可以做的事情BOM都能做到,DOM的主要功能就是操作DOM节点,也就是HTML中的标签,来达到修改文档的目的。原创 2023-04-05 13:42:10 · 36 阅读 · 0 评论 -
JQuery学习笔记
在复习过程中,对js和DOM稍微有一点了解之后,我觉得使用监听器来一个一个监听每一个DOM元素实在是太麻烦了,有一大堆的回调和指令要写,所以我开始接触JQuery库。原创 2023-04-07 18:00:00 · 46 阅读 · 0 评论 -
防抖&节流
对于js绑定&触发事件的方式,我基本都已经了解,主要是对于这个防抖和节流,还是有点小小的疑问;原创 2023-04-10 15:59:59 · 22 阅读 · 0 评论 -
js如何实现多线程
使用 worker 构造函数创建 worker 线程,需要传递一个同源脚本文件 URL;使用onmessage方法事件进行消息传递;通过onerror事件处理异常,使用close方法关闭线程;worker 线程任务可以是 JS 脚本文件,也可以是内联脚本;原创 2023-04-12 07:25:03 · 1556 阅读 · 0 评论 -
作用域&作用域链
简单来说就是作用域就是一个独立的地盘,让变量不会外泄、暴露出去。也就是说作用域最大的用处就是隔离变量,不同作用域下同名变量不会有冲突。ES6 之前 JavaScript 没有块级作用域,只有全局作用域和函数作用域。ES6 的到来,为我们提供了‘块级作用域’,可通过新增命令 let 和 const 来体现。原创 2023-04-12 08:58:00 · 38 阅读 · 0 评论 -
js变量提升
首先看一下MDN对于变量提升的解释:变量提升(Hoisting)被认为是, Javascript中执行上下文 (特别是创建和执行阶段)工作方式的一种认识。在 ECMAScript® 2015 Language Specification 之前的JavaScript文档中找不到变量提升(Hoisting)这个词。从概念的字面意义上说,“变量提升”意味着变量和函数的声明会在物理层面移动到代码的最前面,但这么说并不准确。实际上变量和函数声明在代码里的位置是不会动的,而是在编译阶段被放入内存中。原创 2023-04-14 14:34:11 · 771 阅读 · 0 评论 -
执行上下文
JavaScript代码开始运行的默认环境代码进入一个JavaScript函数使用eval()执行代码,JavaScript中有一个执行上下文(Execution context,EC)的概念。也就是说,当JavaScript代码执行的时候,会进入不同的执行上下文,这些执行上下文就构成了一个执行上下文栈(Execution context stack,ECS)。原创 2023-04-14 15:52:24 · 58 阅读 · 0 评论 -
{}&new&Object.create的区别
如上图,字面量创建对象和new关键字创建对象的新对象都继承了Object身上的属性和方法,但是Object.create并没有,所以当我们只需要继承原型对象身上所有的属性和方法,就可以使用Object.create方法,如果想要使用构造函数身上的属性和方法,那么推荐使用字面量创建和new关键字之中的一种。原创 2023-04-23 08:33:44 · 132 阅读 · 0 评论 -
JS弱引用和强引用
简单来说:强引用的不会被垃圾回收机制回收了,但是 弱引用可是会回收的;弱引用 并不会屏蔽 垃圾回收机制。原创 2023-04-23 18:44:53 · 94 阅读 · 0 评论 -
事件捕获和事件冒泡
在介绍这两个流程时,首先要了解一下js很重要的概念:事件流。原创 2023-04-27 14:49:27 · 450 阅读 · 0 评论 -
setTimeout&setInterval
本文不会详细介绍其使用方法,而是介绍他们在浏览器事件循环当中的差别以及如何简单优化定时器操作;原创 2023-04-28 09:29:50 · 51 阅读 · 0 评论