Javascript笔记
文章平均质量分 67
ienyh
好好学习,天天向上!
展开
-
JavaScript 手写实现发布订阅事件处理器
JavaScript 手写实现发布订阅事件处理器原创 2022-06-18 15:42:57 · 270 阅读 · 1 评论 -
JS中如何循环遍历顺序执行异步操作
JavaScript 中如何循环遍历顺序执行异步操作记录一下今天遇到的一个小问题:在循环遍历数组时,需要同步顺序执行异步操作在查阅网上的博客时有几种这样的写法:function func () { arr.forEach((item, index) => { syncMethod(); });}首先这种方法肯定是不行的,所有的异步方法会同步开始执行,然后我看到了另一种写法function func () { arr.forEach(async () => {原创 2021-08-24 16:19:14 · 7568 阅读 · 8 评论 -
async和await的使用
JavaScript 中 async 和 await 的使用async/await 建立在 Promise 之上,因此它与 Promise 提供的所有功能兼容。如果你还没有学习过 Promise,欢迎你阅读我的另一篇博客 关于 Promise 的学习笔记。async/await 其实是 Promise 的语法糖,它能实现的效果都能用 Promise 实现async 作为一个关键字放在函数的前面,表示该函数是一个异步函数,意味着该函数的执行不会阻塞后面代码的执行,异步函数的调用跟普通函数一样aw原创 2021-08-04 09:17:16 · 411 阅读 · 0 评论 -
JavaScript中实现深拷贝的几种方法
JavaScript 中实现深拷贝的几种方法递归实现/** * 实现对象或数组的深拷贝 * @param {*} origin 被拷贝的对象或者数组 * @param {*} target 目标对象或者数组 * @returns 返回拷贝后的对象 */function deepClone (origin, target = Array.isArray(origin) ? [] : {}) { if (!origin || typeof origin !== "object") { ret原创 2021-08-04 09:15:42 · 254 阅读 · 0 评论 -
迭代器和生成器
迭代器 Iterator 和生成器 Generator循环:语言层面上的语法 => 重复执行一段程序的方案遍历:业务层面上的做法 => 观察或获取集合中的元素的做法迭代:实现层面上的概念 => 实现遍历的底层方案就是迭代???? 迭代器 Iterator1、概念JavaScript 原有的表示“集合”的数据结构,主要是数组 Array 和对象 Object,ES6 又添加了 Map 和 Set。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的原创 2021-08-04 09:13:24 · 104 阅读 · 0 评论 -
Threejs学习笔记
Three.jsThree.js 学习笔记,来自:https://gitchat.csdn.net/columnTopic/5b320731bebc3c4bd7e725cb?utm_source=juhehttps://blog.csdn.net/qq_30100043/article/category/7003591?utm_source=juhehttps://zhuanlan.zhihu.com/p/95463367前面什么是 WebGL?WebGL(Web 图形库)是一种 Ja转载 2021-08-04 09:11:49 · 2835 阅读 · 1 评论 -
vue3给图片绑定src的方法
Vue3 给图片绑定 src 的方法今天学习 vue 碰到的坑,好无语,记录一下过程省的以后再出现。首先当我们给 <img/> 标签绑定 src 的时候,首先你可能这么写:<template> <img class="icon-img" v-if="icon" :src="iconURL" /></template><script>export default { name: "Collection", data() {原创 2021-08-04 09:08:53 · 5848 阅读 · 1 评论 -
Javascript设置拖拽时不触发点击事件
如何设置拖拽时不触发点击事件问题: 今天遇到的,当给 dom 添加点击事件时,如果这个 dom 节点还能拖拽时,当拖拽时也会触发点击事件,其实我是不想要它拖拽时触发点击事件的,那么该如何解决呢?分析一个完整的 click 事件是包含了鼠标按下 mousedown 和鼠标抬起 mouseup 这两个事件的,而当我们拖拽时包含了鼠标按下 mousedown、鼠标移动 mousemave 和鼠标抬起 mouseup 这三个事件的。我们可以从这个 mousemove 事件入手,点击事件时 mousedo原创 2021-08-04 09:07:44 · 3233 阅读 · 0 评论 -
Javascript尾调用优化
JavaScript 尾调用优化递归递归函数的形式通常是一个函数通过名称调用自己比如经典的返回斐波那契数列生成问题function fibonacci (n) { if (n === 1 || n === 2) { return 1; } return fibonacci(n - 1) + fibonacci(n - 2);}我们求斐波那契数列的第10项时,可以轻松求出 fibonacci(10) = 55, 可是当我们要求斐波那契数列的第1000项时, fibon原创 2021-07-19 15:01:27 · 388 阅读 · 0 评论 -
JavaScript中正则表达式的使用
正则表达式(Regular Expression,一般简写为 regex,regexp)正则表达式描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。原创 2021-07-19 14:54:45 · 535 阅读 · 0 评论 -
Javascript中的代理和反射
ECMAScript 6 新增的代理与反射为开发者提供了拦截并向基本操作(如属性查找、赋值、枚举、函数调用等)嵌入额外行为的能力。也就是,可以给目标对象定义一个关联的代理对象,而这个代理对象可以作为抽象的目标来使用。原创 2021-07-04 15:59:33 · 360 阅读 · 0 评论 -
图片的懒加载
图片懒加载也就是图片的延迟加载,实现图片的懒加载有两个思路:1、事件监听2、IntersectionObserver原创 2021-06-17 23:47:41 · 3319 阅读 · 2 评论 -
关于 Promise 的学习笔记
promise是一个异步问题同步化的解决方案Promise 对象用于表示一个异步操作的最终完成 (或失败)及其结果值。原创 2021-06-15 11:26:23 · 177 阅读 · 2 评论 -
项目中关于axios拦截器以及get和post请求的封装
项目中关于 axios 拦截器以及 get 和 post 请求的封装写在前面坚持,记笔记 ????, 加油!一、axios 介绍axios 是一个轻量的 HTTP 客户端,它基于 XMLHttpRequest 服务来执行 HTTP 请求,支持丰富的配置,支持 Promise,支持浏览器端和 Node.js 端。二、axios 拦截器以及 get 和 post 请求的封装关于axios拦截器(Interceptors)的设置代码官方给出了一份样式代码,可见axios的github 仓库地址i原创 2021-06-14 18:02:35 · 666 阅读 · 1 评论 -
关于Javascript中原型的学习笔记
无论何时,只要创建一个函数,这个函数都会创建一个prototype属性,指向原型对象,包括应该由特定引用类型的实例共享的属性和方法。原创 2021-06-10 11:05:43 · 167 阅读 · 7 评论 -
Javascript中apply()、call()和bind()方法的简单介绍
最重要其实是,要明白这三个函数的存在意义是什么?答案是改变函数执行时的上下文,再具体一点就是改变函数运行时的this指向。call()和apply()改变了函数的this上下文后执行该函数,而bind()则是返回改变了上下文后的一个函数。原创 2021-06-08 23:39:45 · 195 阅读 · 2 评论 -
关于 Javascript 预编译的笔记
关于 Javascript 预编译的笔记question作用域的创建阶段、 预编译的阶段预编译的时候做了什么?javascript 的编译对象 AO 对象,供 javascript 引擎自己去访问过程:创建了 AO 对象找形参和变量的声明,作为 AO 对象的属性名,值是 undefined实参和形参相统一找函数声明,会覆盖变量的声明原创 2021-06-02 17:45:55 · 119 阅读 · 0 评论 -
JSON对象中stringify和parse方法的介绍
JSON 对象中 stringify()和parse() 方法的介绍一、JSON.stringify()JSON.stringify()用于将一个 Javascript 对象序列化为一个 JSON 字符串,JSON.stringify()总共可以接受三个参数:要序列化的对象、(可选的)过滤器(可以是数组或者函数)、(可选的)用于缩进结果 JSON 字符串的选项。要序列化的对象默认情况下JSON.stringify()不会输出包含空格或者缩进的原创 2021-06-02 09:31:39 · 537 阅读 · 1 评论 -
Javascript 函数防抖和节流
Javascript 函数防抖和节流防抖和节流都是为了解决短时间内大量触发某函数而导致的性能问题,比如触发频率过高导致的响应速度跟不上触发频率,出现延迟,假死或卡顿的现象。原创 2021-05-31 17:34:28 · 220 阅读 · 2 评论 -
Javascript数组方法总结介绍
Javascript 部分数组方法的简单介绍1 先介绍数组实例方法2 然后是 Array 的静态方法2.1 Array.from()Array.from()方法可以接受最多三个参数,原创 2021-05-17 18:08:50 · 446 阅读 · 18 评论