
javascript
文章平均质量分 96
js相关内容
陈三心
热爱前端,乐于分享,欢迎大家交流,一起进步!
展开
-
从回调地狱到Promise乐园:JavaScript异步编程的进化
Promise是一种异步编程的解决方案,它代表一个尚未完成但预期将来会完成的操作,并可以在这个操作完成或失败时处理相应的结果。Promise出现之前,JavaScript的异步机制主要通过回调函数来实现,但使用回调函数的方式有一个缺点:多个回调函数嵌套时会造成回调函数地狱。Promise 提供了一种更清晰和结构化的方式来编写和管理异步代码,避免了“回调地狱”(callback hell)的出现。简单来说,Promise就相当于一个容器,里面保存异步操作的结果,解决了回调地狱的问题。原创 2024-08-19 23:58:21 · 3075 阅读 · 77 评论 -
JavaScript 继承百花齐放:从原型链到 ES6 类
继承,简单来讲就是让子类能够访问到父类的属性和方法,继承的主要作用就是实现代码的重用。在JavaScript中,主要通过原型链来实现继承。我们重温一下构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型有一个属性指回构造函数,而实例有一个指针指向原型。上篇文章中我们已经了解了原型和原型链的概念,本文就来介绍一下js中实现继承的几种方式。原创 2024-08-04 16:17:01 · 4471 阅读 · 119 评论 -
JS 原型与原型链图解:彻底搞懂的终极指南
在JavaScript中,原型和原型链是非常重要的知识点,只有理解了它们,才能更好地理解js。《javascript高级程序设计》中对原型的描述:每个函数都会创建一个 prototype 属性,这个属性是一个对象,包含应该由特定引用类型的实例共享的属性和方法。实际上,这个对象就是通过调用构造函数创建的对象的原型。使用原型对象的好处是,在它上面定义的属性和方法可以被对象实例共享。简单来讲,原型就是一个对象,可以实现对象的属性和方法的继承。原创 2024-07-21 20:02:55 · 3666 阅读 · 121 评论 -
还没搞懂作用域、执行上下文、变量提升?看这篇就够啦
本文主要介绍了js中不容易理解的作用域、作用域链、执行上下文、变量提升等知识,梳理了js执行过程中的一些关键点,也当是自己的一个学习笔记。如果此文对你有帮助的话,欢迎💗关注、👍点赞、⭐收藏、✍️评论,支持一下博主~原创 2024-06-02 20:50:20 · 1855 阅读 · 109 评论 -
JS执行原理大揭秘:事件循环Event Loop与宏任务、微任务
JavaScript是一种单线程语言,事件循环作为JavaScript的核心执行机制,可以有效地进行异步处理,保证用户界面的响应性和流畅性。所有同步任务都在主线程上执行,形成一个执行栈在执行同步任务的时候,如果遇到了异步事件,会将该任务挂起,继续执行同步任务,当异步事件执行完后(如定时器到时,ajax请求返回),再将对应的回调加入到一个任务队列中等待执行,任务队列分为宏任务队列和微任务队列当执行栈中的同步任务执行完毕后,会执行所有微任务,清空微任务队列。原创 2024-05-10 16:52:30 · 3710 阅读 · 267 评论 -
数据复制的艺术:深拷贝与浅拷贝在JavaScript中的实现方式
当我们处理JavaScript中的数据时,深拷贝和浅拷贝是两个非常重要的概念。它们涉及如何复制对象和数组,以及如何处理复杂数据结构。在这篇博客中,我们将深入探讨深拷贝和浅拷贝的概念,解释它们的区别以及如何在JavaScript中实现它们。原创 2024-04-29 18:29:51 · 5313 阅读 · 148 评论 -
使用lodash原地起飞,总结了几个常用的lodash方法
Lodash是一个流行的JavaScript实用工具库,提供了许多高效、高兼容性的工具函数,能够方便地处理集合、字符串、数值、函数等多种数据类型,大大提高工作效率,本文总结了一些常用的lodash工具方法。原创 2024-01-14 13:25:12 · 7940 阅读 · 261 评论 -
一篇讲透:箭头函数、普通函数有什么区别
本文主要总结了箭头函数和普通函数的几大区别,箭头函数是ES6(ECMAScript 6)新增的使用箭头(=>)语法定义函数表达式的能力。任何可以使用函数表达式的地方,都可以使用箭头函数,并且它的语法比传统的函数表达式更加简洁。箭头函数虽然语法简洁,但也有一些场合不适用,需要根据不同的场景选择使用合适的函数。原创 2023-12-25 19:54:49 · 11643 阅读 · 280 评论 -
我从来不理解JavaScript闭包,但我用了它好多年
本文主要介绍了被誉为JavaScript中最难理解的概念之一的闭包,闭包的表现形式多样、应用广泛,日常开发中其实都有闭包的身影,在实际的开发过程中,合理地使用闭包可以帮助我们更加高效地编写代码,提高程序的性能和可维护性。原创 2023-12-03 23:48:27 · 5793 阅读 · 248 评论 -
10分钟的时间,带你彻底搞懂JavaScript数据类型转换
本文详细介绍了js中的3种数据类型转换规则,以及有着许多坑的隐式类型转换,并且通过一些经典的案例让大家清楚的理解其转换规则。原创 2023-11-30 09:34:01 · 1965 阅读 · 110 评论 -
前端性能优化之防抖&节流
防抖和节流是前端开发中常用的两种性能优化技术。为什么需要防抖和节流呢?两者目的都是为了防止某个时间段内操作频繁触发,造成性能消耗。防抖:在事件被触发 n 秒后再执行回调,如果在这 n 秒内事件又被触发,则重新计时。节流: n 秒内只执行一次事件,即使n 秒内事件重复触发,也只有一次生效。原创 2023-10-06 23:56:19 · 4520 阅读 · 108 评论 -
js数据类型分类及存储区别
关于js中数据类型总结以及基本类型与引用类型的存储区别。原创 2021-11-09 21:44:13 · 2682 阅读 · 3 评论 -
js和css3实现动态魔方的效果
主要是利用css3动画和js实现了一个动态的魔方效果。原创 2021-10-26 14:14:17 · 2756 阅读 · 6 评论 -
js中的事件冒泡与事件捕获
js中的事件冒泡与事件捕获。当点击黑色容器时,开始进行事件捕获,Js事件流从window上往事件触发处传播,遇到注册的捕获事件就会触发;但是捕获阶段默认是不处理的(addEventListener第三个参数默认是false),紧接着传播到事件触发处,触发注册的事件,打印div3,然后进行冒泡阶段从事件触发处 往window上传播,遇到注册的冒泡事件会触发,打印div2,再打印div1。就是因为点击了盒子的子元素(黄色和红色部分),事件冒泡到了绑定拖拽事件的父元素身上(蓝色部分),导致触发的是拖拽效果。原创 2023-03-24 10:58:23 · 3700 阅读 · 16 评论