JavaScript 高阶函数

JavaScript 中的高阶函数是一种接受函数作为输入或返回函数作为输出的函数。高阶函数可以用于创建抽象概念,例如柯里化、组合和管道。 ...

[JavaScript]实例化对象

使用语法结构创建的对象 function fn(){ var name="RoastDuck"; } 使用构造器创建的对象 function Duck() { this.name = []; this.age = []; } var RoastDuck = new Duck(); 使用 Object ...

Javascript全栈工程师养成攻略

鉴于阮一峰老师的技术文章,在此做一个转载记录。转战react技术一年,希望在技术上可以不断精进,日后成为一位大牛! 引子:《准备工作》 知识准备 环境准备 第一讲:《前端开发的历史和趋势》 前端开发的历史演变 前端MVC框架的兴起 前后端分离 全栈工程师 前端开发的未来 第二讲:《React 技术栈 ...

JavaScript 条件判断与比较运算

一、条件判断 JavaScript 中有三种方法可以用来进行条件判断: 1、使用 if-else 语句。这种方法用于在特定条件为 true 时执行一段代码,否则执行另一段代码。例如: let a = 5; if (a > 10) { console.log("a is greater than 10 ...

JavaScript 数组去重

JavaScript 中有多种方法可以实现数组去重,下面是几种常用的方法: 1、使用 Set 去重:Set 数据结构中不能有重复元素,可以将数组转成 Set 类型,再转回数组。 let arr = [1,2,3,4,5,6,2,3,4]; let uniqueArr = [...new Set(ar ...

JavaScript 中断 forEach 循环

1、使用 Array.prototype.some() 方法代替 some() 方法会在找到第一个符合条件的元素时停止循环。 例如: let array = [1, 2, 3, 4, 5]; array.some(function(element, index, array) { if (eleme ...

JavaScript 判断变量的类型

JavaScript 中有多种方法来判断变量的类型,如 typeof、instanceof、Object.prototype.toString.call()、constructor属性、Symbol.toStringTag属性以及 lodash 等第三方库 ...

JavaScript 浅拷贝和深拷贝

JavaScript 中的拷贝分为两种:浅拷贝和深拷贝。
浅拷贝是指在拷贝过程中,只拷贝一个对象中的指针,而不拷贝实际的数据。所以,浅拷贝中修改新对象中的数据时,原对象中的数据也会被改变。
深拷贝是指在拷贝过程中,拷贝一个对象中的所有数据,并创建一个新对象,对新对象进行操作并不会影响到原对象。 ...

JavaScript 面向切面编程(AOP,装饰者模式)

JavaScript 面向切面编程 (AOP) 是一种编程思想和实现方式,它将一些关注点(例如日志记录、安全性检查、性能监控等)从主题对象中分离出来,通过“横切关注点”的方式在程序中动态地织入这些关注点。这样可以避免在主题对象中嵌入大量的关注点代码,使得代码更加简洁和可维护。 ...

JavaScript 原型和原型链

JavaScript 是一种基于原型继承的语言。在 JavaScript 中,对象是通过原型链来继承属性和方法的。 一、原型 每一个对象都有一个 proto 属性,该属性指向该对象的原型。原型本质上也是一个对象,所有的对象都拥有一个原型,除了 Object.prototype。 JavaScript ...

JavaScript 获取对象长度

JavaScript 中,对于普通对象,不能直接使用 length 来获取对象的长度,因为 JavaScript 对象并不是一种有序的集合,没有长度的概念。
对于数组或者类数组对象,可以使用 .length 来获取它们的长度,因为它们是有序集合。
对于字符串也可以使用.length来获取长度,因为字... ...

JavaScript 防抖和节流

JavaScript 防抖和节流是两种常见的性能优化技术,用于减少函数的执行次数。
防抖(debounce)是指在一段时间内,如果有多次触发事件,则只执行最后一次事件。
节流(throttle)是指在一段时间内,只执行一次事件。 ...