
JavaScript(ES6)
文章平均质量分 98
JavaScript是一种广泛应用于网页开发和后端开发的编程语言。这个专栏将介绍JavaScript语言的基本语法、DOM操作、事件处理、异步编程以及常见算法和数据结构等内容。我们还将介绍ES6及其后续版本中引入的新特性,如箭头函数、模块化、解构赋值等。
俊刚、
爱学习,爱生活,爱联盟!!!
展开
-
资源提示关键词(defer 、async、preload、prefetch)
当浏览器解析HTML文档时,如果遇到一个普通的脚本标签(不带async或defer属性),浏览器会立即下载并执行该脚本,同时阻塞HTML解析过程。这意味着,如果脚本文件较大或者网络连接较慢,页面加载速度会受到影响。原创 2024-01-12 10:37:37 · 1754 阅读 · 6 评论 -
ES6 class详解
ES6 class是JavaScript中一种更简洁、更易读的创建对象和实现面向对象编程的语法糖。它封装了原型继承和构造函数模式,提供了更直观和易懂的语法。ES6 class可以用于封装数据和行为、实现继承和多态等场景。通过使用ES6 class,我们可以更好地组织代码,并提高代码的可读性和可维护性。原创 2024-01-02 10:42:42 · 1548 阅读 · 0 评论 -
ES6之Promise的链式调用
Promise的链式调用是指在一个Promise对象上连续调用多个then方法的过程。通过链式调用,可以将多个异步操作按照顺序执行,并且可以在每个操作完成后处理返回的结果。- 当使用Promise进行链式调用时,每个then方法都可以接收两个参数:一个是成功回调函数,一个是失败回调函数。成功回调函数用于处理上一个Promise对象的成功状态,而失败回调函数用于处理上一个Promise对象的失败状态。原创 2024-01-02 11:04:59 · 1915 阅读 · 1 评论 -
ES6 Module详解
ES6模块是一种用于组织和管理JavaScript代码的模块化系统。它通过import和export关键字提供了一种简洁、可靠和可维护的方式来导入和导出模块。ES6模块具有模块化组织代码、避免命名冲突、提高性能和支持异步加载等作用。它的原理是基于静态分析和编译时优化。ES6模块可以在浏览器环境和Node.js环境中使用,通过``标签或import和export关键字来加载和使用模块。原创 2024-01-02 10:52:01 · 1591 阅读 · 0 评论 -
ES6的默认参数和rest参数
ES6的默认参数和rest参数为函数的定义和调用提供了更多的灵活性和简洁性。- 默认参数可以为函数的参数提供默认值,避免因为缺少某些参数而导致错误;- rest参数可以接收任意数量的参数,并将它们封装成一个数组,使得处理不确定数量的参数更加方便。原创 2023-12-30 08:00:00 · 1349 阅读 · 0 评论 -
ES6之解构赋值详解
ES6的解构赋值是一种强大且灵活的语法,可以使代码更加简洁、易读。它可以应用于各种场景,如函数参数解构、数组元素交换和函数返回多个值等。通过使用解构赋值,我们可以更高效地编写代码,并提高开发效率。原创 2023-12-30 08:00:00 · 1431 阅读 · 0 评论 -
ES6之Reflect详解
Reflect是ES6中新增的一个内置对象,它提供了一组静态方法,用于操作对象。这些方法与Object上的方法具有相同的功能。在这些方法中会调用对应Object上的方法,并且返回对应结果。Reflect的出现主要是为了将一些Object对象上的方法转移到Reflect上,使得操作对象更加统一和易于理解。通过这种方式,实现了对Object上方法的封装和统一。原创 2024-01-01 08:00:00 · 1509 阅读 · 0 评论 -
ES6之Proxy详解
ES6中的Proxy是一种用于创建代理对象的特殊对象。它允许我们定义自定义行为,例如拦截和修改对象的默认操作。Proxy可以用于拦截对象的各种操作,包括属性访问、赋值、函数调用等。Proxy的作用是在目标对象之前架设一层拦截,可以对目标对象进行各种操作的拦截和自定义处理。通过使用Proxy,我们可以实现对目标对象的访问控制、数据验证、属性劫持等功能。原创 2024-01-01 08:00:00 · 3053 阅读 · 0 评论 -
ES6之生成器(Generator)
生成器是一种特殊的函数,它使用function*语法进行定义。在生成器函数内部,可以使用yield关键字来暂停函数的执行,并返回一个包含value和done属性的对象。value表示yield表达式的值,done表示函数是否已经执行完毕。原创 2024-01-01 08:00:00 · 1762 阅读 · 0 评论 -
ES6之迭代器(Iterator)
ES6引入了迭代器的概念,这个特性为JavaScript带来了更强大的迭代和异步编程能力。本文将深入探讨ES6的迭代器,介绍其概念、用法以及在实际开发中的应用。迭代器(Iterator)是ES6引入的一种新的数据结构,它提供了一种统一的遍历机制,可以用来遍历各种不同类型的数据。迭代器的概念、作用和遍历原理如下所述:原创 2023-12-31 08:00:00 · 1182 阅读 · 0 评论 -
ES6之原始数据类型Symbol
ES6 引入了一种新的原始数据类型`Symbol`,表示独一无二的值。它属于 JavaScript 语言的原生数据类型之一,其他数据类型是:`undefined`、`null`、布尔值(Boolean)、字符串(String)、数值(Number)、大整数(BigInt)、对象(Object)。Symbol的作用是创建一个不可变且唯一的标识符,可以用作对象属性的键。它可以用来解决属性名冲突的问题,避免命名冲突。原创 2023-12-31 08:00:00 · 964 阅读 · 0 评论 -
ES6的一些高级技巧
ES6引入了许多实用但相对较冷门的高级技巧。`Object.entries()`和`Object.fromEntries()`可以方便地在对象和键值对之间进行转换。`Symbol`类型和`Symbol`属性可以创建唯一的标识符。`WeakMap`和`WeakSet`提供了一种在没有其他引用时自动垃圾回收的集合类型。`Promise.allSettled()`可以处理多个promise并返回所有结果。`BigInt`允许表示任意精度的整数。`Array.of`、`Array.from`、`.at`和`f原创 2023-12-28 14:47:04 · 876 阅读 · 0 评论 -
手写Promise完整介绍
首先,我们定义了三个常量:PENDING表示promise的初始状态,FULFILLED表示promise成功的状态,REJECTED表示promise失败的状态。state:表示promise的当前状态,默认为PENDING。value:表示promise成功时的返回值,默认为undefined。reason:表示promise失败时的错误原因,默认为undefined。onFulfilledCallbacks:用于存储成功回调函数的数组。原创 2023-12-22 10:32:14 · 786 阅读 · 0 评论 -
【JavaScript】DOM事件的传播机制
DOM事件的传播机制是指当一个事件在DOM树中触发时,它是如何在各个元素之间传播的。DOM事件传播机制分为三个阶段:捕获阶段、目标阶段和冒泡阶段。此外,还有一种常用的技术称为事件委托,它能够简化事件处理程序的绑定和管理。本文将详细介绍这些概念,并提供相应的代码示例。原创 2023-12-28 14:46:32 · 989 阅读 · 0 评论 -
【JavaScript】浮点数精度问题
在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景,并且不断发展演进。在本专栏中,我们将深入学习JavaScript语言的基本语法、DOM操作、事件处理、异步编程以及常见算法和数据结构等内容。此外,我们还将介绍ES6及其后续版本中引入的新特性,如箭头函数、模块化、解构赋值等。原创 2023-12-26 10:53:24 · 1313 阅读 · 0 评论 -
【JavaScript】Object.defineProperty 属性描述符
这些描述符可以通过 Object.defineProperty() 方法来定义或修改对象的属性特性。通过使用这些描述符,我们可以灵活地控制和定义对象的属性行为,例如限制某些属性只读、隐藏某些不需要枚举的属性等。原创 2023-12-28 09:00:00 · 1137 阅读 · 0 评论 -
【JavaScript】使用a标签下载文件
可以通过download属性直接进行下载。可以根据需要选择将文件数据转为Blob或Base64进行下载。如果您已经有文件数据,可以使用`fileToBlob`函数将其转为Blob对象并进行下载。如果您希望将文件数据转为Base64进行下载,可以使用`fileToBase64`函数将其转为Base64字符串,并使用`downloadBase64File`函数进行下载。原创 2023-12-27 09:30:00 · 4848 阅读 · 2 评论 -
【JavaScript】Set、Map、WeakSet、WeakMap
通过以上代码示例,我们可以看到Set、Map、WeakSet和WeakMap的用法和特性。在Set和Map中,如果一个对象被添加到集合中,即使在其他地方不再引用该对象,它仍然会被集合保留,不会被垃圾回收机制回收。这可能导致内存泄漏,特别是在长时间运行的应用程序中。而在WeakSet和WeakMap中,存储的对象是弱引用关联的。这意味着如果一个对象只有在WeakSet或WeakMap中存在引用,并且没有其他地方引用它,那么该对象将被垃圾回收机制自动回收。这样可以有效地避免内存泄漏问题。原创 2023-12-25 10:37:45 · 564 阅读 · 0 评论 -
【JavaScript】new原理解析
本文深入解析了JavaScript中的new关键字,介绍了其作用、原理,并提供了一些代码示例来帮助读者更好地理解。通过对new关键字的详细解析,我们可以更好地理解JavaScript中对象实例的创建过程,从而更加灵活地运用new关键字来构建复杂的应用程序。原创 2023-12-27 09:00:00 · 1119 阅读 · 0 评论 -
【JavaScript】复制文本到剪切板
在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景,并且不断发展演进。在本专栏中,我们将深入学习JavaScript语言的基本语法、DOM操作、事件处理、异步编程以及常见算法和数据结构等内容。此外,我们还将介绍ES6及其后续版本中引入的新特性,如箭头函数、模块化、解构赋值等。原创 2023-12-26 10:48:39 · 1575 阅读 · 0 评论 -
【JavaScript】垃圾回收与内存泄漏
JavaScript的*垃圾回收机制*是一种自动化的内存管理机制,用于检测和回收不再使用的内存资源,以便重新分配给其他需要的部分。JavaScript中的垃圾回收器负责跟踪和管理内存的分配和释放,使开发人员无需手动管理内存。原创 2023-12-26 16:19:45 · 1084 阅读 · 0 评论 -
【JavaScript】异步解决方案的发展历程
随着JavaScript的发展,异步编程解决方案也在不断演进。从最早的回调函数到Promise、Generator和Async/Await,每一种解决方案都有其优点和缺点。回调函数简单易懂,但容易导致回调地狱;Promise解决了回调地狱问题,但无法取消异步操作;Generator可以暂停和恢复执行,但需要手动控制迭代器;Async/Await使得异步代码看起来像同步代码一样,但无法取消异步操作。选择合适的解决方案取决于具体的需求和场景。原创 2023-12-25 10:36:55 · 1049 阅读 · 0 评论 -
【JavaScript】闭包机制
介绍JavaScript中的闭包是一种强大的概念,它允许我们在函数内部创建和访问私有变量,并且可以在函数外部继续使用这些变量。理解闭包的工作原理对于编写高质量的JavaScript代码至关重要。本文将深入探讨JavaScript闭包的机制,并结合最佳实践和代码示例进行详细说明。什么是闭包?闭包是指函数能够访问并操作其词法作用域外部的变量的能力。当一个函数内部定义了另一个函数,并且内部函数引用了外部函数的变量时,就创建了一个闭包。闭包使得内部函数可以继续访问外部函数的变量,即使外部函数已经执行完毕。原创 2023-12-22 10:30:37 · 516 阅读 · 0 评论 -
【JavaScript】call,apply,bind的使用及理解
call和apply都是改变上下文中的this并立即执行这个函数,bind方法可以让对应的函数想什么时候调用就什么时候调用,并且可以将参数在执行的时候添加,这就是它们的区别。原创 2019-08-07 15:07:13 · 747 阅读 · 1 评论