当我们有多个变量的结构非常类似时,如下所示,反复书写结构过于麻烦,我们可以定义一个工厂函数来创建对象。在 js 中,绝大多数的数据类型都是通过构造函数创建的,常用的数据类型都可以通过JS内置的构造函数来创建
辰风沐阳 阅读 1665 2022-02-01
在 js 中,引用类型的数据使用 = 进行赋值时,传递的都是引用,而并非其对应的值。浅拷贝: 只是拷贝了基本类型的数据,而引用类型的数据,复制后还会发生引用。深拷贝: 只拷贝基本类型和引用类型的数据,不拷贝引用类型的引用
辰风沐阳 阅读 1589 2022-02-01
TypeScript 是 Type 和 JavaScript 的结合,TypeScript 就是将不看重类型的动态语言 JavaScript,变成关注类型的静态语言
辰风沐阳 阅读 2140 2022-01-26
闭包是 JavaScript 中内层函数与其外层函数变量的组合,它能够访问并保存外层函数的作用域。闭包的主要作用是实现数据私有化,允许外部访问函数内部变量,同时避免全局变量污染。典型应用场景包括计数器、防抖节流函数等。虽然闭包可能导致内存泄漏问题,但并非所有闭包都会引发此问题。闭包不一定要有return语句,只有当需要外部访问内部变量时才需返回内层函数。闭包通过将函数与其操作环境关联,为 JavaScript 提供了强大的封装能力。
辰风沐阳 阅读 403 2022-01-10
ES6 新增了一种新的函数: 箭头函数,箭头函数相当于匿名函数,简化了函数定义,将原函数的 function 关键字和函数名都删掉,并使用 => 连接参数和函数体。箭头函数中的 this: 向外层作用域中一层层查找 this,直到有 this 的定义
辰风沐阳 阅读 1837 2021-12-21
node.js 不是一门新的编程语言,也不是一个 JavaScript 框架,它是一套 JavaScript 运行环境。在 node.js 诞生之前,JavaScript 只能运行在浏览器中,作为网页脚本使用,为网页添加一些特效。node.js 出现后,JavaScript 就可以脱离浏览器,像其他编程语言一样直接在计算机上使用,再也不用受浏览器的限制
辰风沐阳 阅读 1705 2021-12-18
JavaScript Array 对象方法比较多,可以每天学几个日积月累,来学习几个常用的方法吧。filter() 用于过滤掉数组中不满足指定条件的元素;some() 用于检测数组中是否至少有一个元素满足指定条件;every() 用于检测数组中所有元素是否都满足指定条件; reduce() 用于将数组中的元素通过一个回调函数逐步缩减为一个单一的值。
辰风沐阳 阅读 1889 2021-12-10
在之前的 JavaScript 中是没有模块化概念的,如果要进行模块化操作,需要引入第三方的类库。随着技术的发展,前后端分离,前端的业务变的越来越复杂化。直至 ES6 带来了模块化,才让 JavaScript 第一次支持了 module
辰风沐阳 阅读 2053 2021-10-10
当需要获取对象中的某些值的场景,最简单直接的方式就是通过 “对象.属性名” 获取,但是当需要获取的属性过多时,需要些大量 “.” 来获取, 在 ES6 中新增了一个种新的语法(解构赋值)来解决这个问题,解构赋值: 从数组或对象中提取一个或多个值,对多个变量进行批量赋值
辰风沐阳 阅读 2023 2021-10-04
我习惯使用 forEach 遍历数组,但是当数组数据比较大时推荐使用最基础的 for 循环, 因为这种方式效率高一些。遍历对象则使用 for ...in 循环,for-in循环就是为了遍历对象而设计的,虽然for-in也能用来遍历数组。
辰风沐阳 阅读 1919 2021-10-03