![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
js 详解系列
文章平均质量分 78
主要提供一些js知识的详解,内容较多
在下月亮有何贵干
有一个成为受人敬仰的前端开发者的梦想
展开
-
js 你知道为什么[]==![]是成立的吗(强制类型转换)
为什么大家都在吐槽js的类型转换?为什么[]==![]是成立的呢?我想你也想解除一下自己的疑惑吧?原创 2023-01-29 12:31:59 · 1566 阅读 · 2 评论 -
js 谈谈Generator和[Symbol.iterator]
对象中的[Symbol.iterator]属性,一般用来作为对象默认的迭代方法,当它返回迭代器对象时,可以帮助我们创建对象的可迭代方法。Generator是es6引入的一种特殊函数,它叫做生成器函数,调用它可以得到一个迭代器对象。我们从上文可以发现,一个需要返回迭代器对象,一个可以得到迭代器对象,必然可以合作,这就是有趣的地方。今天我们就来谈谈它们是什么,怎么用。原创 2022-09-09 10:15:35 · 754 阅读 · 0 评论 -
js 一分钟学会使用闭包
今天来谈谈闭包,不从晦涩难懂的文字来谈,直接用简单的代码,了解闭包到底大概是什么样子的,我们平时又怎么用到它。原创 2022-09-05 15:42:01 · 600 阅读 · 0 评论 -
js ascii码使用攻略
本文介绍,如何将字符转化为ascii码,以及如何将ascii码转化为字符的方法,以及常用字符ascii码位置和小示例。原创 2022-08-26 11:33:17 · 1629 阅读 · 0 评论 -
js 什么是逗号表达式?
什么是逗号表达式,一个有点用又没那么有用的东西,也算是语法糖,不过也并不是所有时候都看起来比较简洁,本文简单介绍,让你知道。原创 2022-07-14 15:57:28 · 1057 阅读 · 0 评论 -
DOM点击事件运行详解(捕获、冒泡、事件执行对象与事件绑定对象)
js事件老生常谈,即使你掌握了事件捕获与事件冒泡,还需要结合事件执行对象与事件绑定对象(e.target和e.currentTarget)来处理一些捕获与冒泡带来的影响,本文做一个汇总,让你能够掌握并解决js事件的运行。......原创 2022-07-11 15:28:32 · 3332 阅读 · 0 评论 -
js 使用bind解决this丢失问题、手写一个简单的bind
我们知道,bind是用来绑定函数到固定对象上的,可以用于改变某些函数的this指向,但是并不是所有浏览器都支持bind,我们能不能理解bind的原理,手写一个bind呢?原创 2022-07-11 14:25:22 · 400 阅读 · 0 评论 -
js 一分钟掌握可选链用法
随着工作中遇到的场景越来越多,我们会发现大多时候数据结构无非就是对象以及数组,很多时候我们判断层层嵌套的属性时必须要确保上一级属性存在,可是这样往往代码看起来比较冗长,因此可选链这个小知识我们需要掌握。...原创 2022-06-07 09:56:21 · 1224 阅读 · 1 评论 -
js this指向详解
网上关于箭头函数 this 指向的问题的讲解实在太多了,理解也很多,貌似真的很难找到最正确的标准。看了大量文章之后,你可能还是很迷糊,我觉得问题可能在于,他们给你们解释之前已经默认了你掌握了基础,所以忽略了一些最最基础的定义解释,可能跟你说了 this 的指向问题,但是没有跟你说明 this 出现的前提。...原创 2022-05-30 15:00:39 · 475 阅读 · 2 评论 -
js 数组遍历方法详解(map、filter、find、findIndex、reduce)
数组遍历方法是js最常用的一类方法,也是工作中必须掌握的一类方法,我们处理业务逻辑,大多都要对数组内的统一格式的数据进行遍历。本文以map的详细解释,让读者先掌握这一类型方法的统一模式,再介绍filter、find、findIndex、reduce等相似性,这样能够将一类的方法全部记住。原创 2022-04-26 13:51:35 · 3821 阅读 · 1 评论 -
js 如何编写ts,又如何将ts编译成js
作为js的超集,ts的确更加规范,且能够让代码不那么容易出错,所以就简单记录一下日常该如何使用。原创 2022-03-30 11:26:56 · 3283 阅读 · 0 评论 -
js apply、call、bind一篇掌握
apply、call、bind,在js中都是与this指向打交道的,它们又该如何使用呢?本文先介绍apply的用法,然后根据apply的用法引出call、bind的相同点与区别,这样就比较容易记忆。原创 2022-03-30 11:00:20 · 1482 阅读 · 2 评论 -
js 内置对象Date()用法
简单记录一下js内置对象Date()的用法。原创 2022-02-28 11:49:44 · 573 阅读 · 2 评论 -
js 遍历对象方法大全
记录一下js遍历对象的方法,做个分类比较好记。原创 2022-02-22 15:20:28 · 583 阅读 · 0 评论 -
js BOM和DOM是什么
同样是对一个基础的查缺补漏,以最精炼的话概括DOM与BOM究竟是什么,通俗易懂,一篇掌握,面试无忧。原创 2022-02-21 16:16:32 · 402 阅读 · 0 评论 -
js 数据类型分类与判断
记录js的类型分类以及判断方法,typeof、instanceof的用法以及存在的问题,最后介绍使用Object.prototype.toString.call()精准判断类型的方法。原创 2022-02-16 17:06:20 · 484 阅读 · 0 评论 -
js 各种位置获取全解(包括元素属性、鼠标位置、滚动位置)
目录普通元素元素四周三级目录普通元素如果不了解盒子模型建议先阅读一下:css 盒子模型详解。offsetLeft、offsetTop(左边与上边与设置了定位的父级的距离)offsetWidth、offsetHeight(可视宽高,内容区+padding+border+滚动轴宽度(如果存在))clientLeft、clientTop (左、上边框宽度)clientWidth、clientHeight(内容区+padding,不包括border)scrollTop、scrollLeft(水平垂直原创 2022-01-14 11:27:14 · 1621 阅读 · 0 评论 -
js 谈谈前端需要掌握的es6内容
前端每次面试都问es6,那么我们真正应该掌握的es6内有哪些呢?原创 2021-12-22 16:11:52 · 1210 阅读 · 0 评论 -
js map中使用async异步函数(含详细解释)
目录为什么需要用map执行异步Promise.all与map结合为什么需要用map执行异步有时候我们可能要根据多个单一值进行异步的请求,也就是要发送同一类型的请求。比如我有一个装一百个书本id的数组,我需要获得每个书本的详细内容,都是调用一个接口,只不过是入参id不同,总不能写一百个请求,这时候就可以使用了map执行异步来做这件事。当然也许多请求效率会很低,不过这不是今天的主题。Promise.allPromise.all是一个Promise的方法,如果不了解Promise可以先移步:js Pr原创 2021-12-17 12:02:05 · 6066 阅读 · 0 评论 -
js Promise与async/await用法详解
目录异步PromisePromise基本使用Promise回调可接受入参Promise可进行连续回调async/await常见异步请求方法与Promise、async/await的关系异步完全不了解同步异步可以看看这个:一分钟简单理解同步和异步 let a = 0 setTimeout(() => { a = 1 }, 1000) console.log(a)//0此时这个延迟就成为异步执行的了,a值还没有变1就被使用输出,我们只能得到0原创 2021-11-25 15:20:32 · 1687 阅读 · 0 评论 -
fetch异步请求使用详解
目录认识异步fetch(url)response.json()结合async和await异常处理post请求认识异步首先我们得明白请求是一个异步的过程。因为请求需要时间向服务器发送请求和接收请求结果。我们得要等待请求完成然后执行请求完成后的回调,来对接收到的请求结果做处理。fetch(url)为了方便学习,我们借用一下uni-app教程的api接口。 const url = 'https://unidemo.dcloud.net.cn/api/news'我们需要知道fetch是基于原创 2021-10-28 10:58:33 · 6663 阅读 · 0 评论 -
js for循环中的i使用var和let有什么区别?
目录先来个简单的测试变量提升问题场景先来个简单的测试 for (var i = 0; i < but.length; i++) { console.log(i) }结果是 for (let i = 0; i < but.length; i++) { console.log(i) }结果是会发现这两个作为循环的执行输出貌似没什么问题。是不是就没有区别呢?当然不是!变量提升相信很多人都知道var有变量提升的问题我们猜想如果var导原创 2021-10-22 15:08:10 · 423 阅读 · 7 评论 -
js设计模式简单例子
目录创造型工厂模式建造者模式单例模式结构型桥接模式享元模式模板方法模式行为型技巧模式型创造型封装对象时的设计模式。工厂模式方便经常创建某个对象,我们可以把这个对象封装成一个可以调用的函数,可以随时通过调用该函数获得自己需要的对象。 function factory(type) { switch (type) { case "type1": return { name: "类型1" }; break; case原创 2021-10-20 10:38:28 · 142 阅读 · 0 评论 -
js apply()用法详解
目录apply作用改变this指向将数组入参变为一般入参把arguments改为真正的数组apply作用作用有两个,跟它的入参有关。改变this指向。将数组入参变为一般入参。改变this指向这是网上一个常见的例子:var person = { fullName: function() { return this.firstName + " " + this.lastName; }}var person1 = { firstName: "Bill"原创 2021-09-14 11:28:45 · 19500 阅读 · 3 评论 -
js 7种继承方式详解
目录前言原型链继承构造函数继承组合继承原型式继承寄生式继承寄生组合继承类的继承前言首先学习继承之前,要对原型链有一定程度的了解。不了解可以去先阅读我另一篇文章,里面对原型链有一个较为详细的说明:js 原型链详解。不了解call、apply方法的用法的话如果已经了解请继续。原型链继承父类作为子类的原型,子类作为构造函数,两个实例,很好理解,实例会拥有原型链上的属性。 //父类(原型) function father() { this.fatherAttr = ["fa原创 2021-09-18 09:18:52 · 273 阅读 · 0 评论 -
js 原型链详解
目录构造函数和实例属性Prototype属性__proto__访问原型上的方法以上短暂总结构造函数也有__proto__构造函数的原型也有__proto__Object.prototype这个原型对象很特殊总结最后构造函数和实例假设你声明一个方法叫做Foo(),那么我们可以通过new Foo()来声明实例。 function Foo() { console.log("我是一个构造方法"); } const f1 = new Foo();现在你可以很清晰的明白Foo原创 2021-09-16 14:55:37 · 213 阅读 · 0 评论 -
js event loop事件队列详解(浏览器中)
目录首先认识一个栈两个队列执行过程异步任务怎么分配简单例子难一点的例子首先要知道js是单线程的,就是一件一件做,做完一件做下一件。认识一个栈两个队列一个调用栈Stack。一个宏队列,macrotask,也叫tasks。一个微队列,microtask,也叫jobs。执行过程js就是执行全局Script同步代码,这中间碰到一些异步任务先加进对应的队列。做完之后,调用栈就为空了。然后将队列(先微队列后宏队列)里面的首个任务提到调用栈来做,一件一件做完直到队列中的任务都做完。总结就是,先做同步原创 2021-09-15 10:11:58 · 282 阅读 · 0 评论 -
CommonJs详解
CommonJs详解1 概述2 module对象2.1 module.exports属性2.2 exports变量3 AMD规范与CommonJS规范的兼容性4 require命令4.1 基本用法4.2 加载规则4.3 目录的加载规则4.4 模块的缓存4.5 环境变量NODE_PATH4.6 模块的循环加载4.7 require.main5 模块的加载机制5.1 require的内部处理流程6 本文来源1 概述Node 应用由模块组成,采用 CommonJS 模块规范。每个文件就是一个模块,有自己的作转载 2021-05-13 10:02:34 · 2776 阅读 · 0 评论