全部文章
共 1306 篇文章
什么是伪数组、什么是类数组
关键词 :伪数组、类数组 伪数组(Array like)和类数组(Array like Object)都是描述一种类似数组的对象结构,它们在外观和行为上类似于数组,但实际上不是真正的数组。 伪数组(Array like): 伪数组是指具有类似数组的结构,但不具备数组的方法和属性的对象。 伪数组对象通常拥有一个 length 属性,用于表示其元素的个数。 伪数组对象可以通过索引访问元素,类似于数组的下标访问。 伪数组对象不具备数组的方法,...
函数柯里化了解多少
关键词 :函数柯里化、柯里化应用场景、柯里化优势 函数柯里化是什么? 函数柯里化(Currying)是一种在函数式编程中使用的技术,其主要目的是将一个接受多个参数的函数转换成一系列使用一个参数的函数。 这样做的好处是允许你创建一些部分应用的函数,预先固定一些参数,使得代码更简洁,便于复用和组合。 以下是一个简单的柯里化函数的例子: 在这个例子中,我们创建了一个 函数,该函数接受一个普通的多参数函数(如 )作为输入,并返回一个新的柯里化函...
哪些原因会导致js里this指向混乱
关键词 :js 指向 JavaScript 中 this 指向混乱的原因主要有以下几个: 1. 函数调用方式不同:JavaScript 中函数的调用方式决定了 this 的指向。常见的函数调用方式有函数调用、方法调用、构造函数调用和箭头函数调用。不同的调用方式会导致 this 指向不同的对象,容易引发混乱。 2. 丢失绑定:当函数作为一个独立的变量传递时,或者作为回调函数传递给其他函数时,函数内部的 this 可能会丢失绑定。这意味着函...
常见的前端内存泄露场景有哪些
大多数情况下,垃圾回收器会帮我们及时释放内存,一般不会发生内存泄漏。但是有些场景是内存泄漏的高发区,我们在使用的时候一定要注意: 我们在开发的时候经常会使用 在控制台打印信息,但这也会带来一个问题:被 使用的对象是不能被垃圾回收的,这就可能会导致内存泄漏。因此在生产环境中不建议使用 的理由就又可以加上一条避免内存泄漏了。 被全局变量、全局函数引用的对象,在Vue组件销毁时未清除,可能会导致内存泄漏 定时器未及时在Vue组件销毁时清除,可...
手写 JSON.stringify 和 手写 JSON.parse 实现
关键词 :手写 JSON.stringify、手写 JSON.parse 手写 是一个将 JavaScript 对象或值转换为 JSON 字符串的函数。下面是一个简化的实现,主要考虑以下几种类型:字符串、数字、布尔值、对象和数组。 请注意,这个实现有很多限制,适用于简单场景。它没有处理循环引用、函数、 类型等复杂情况。实际项目中,你还是应该使用内置的 函数。 手写 是一个将 JSON 字符串转换为 JavaScript 对象或值的函数。...
类数组转换成数组的方法有哪些
关键词 :类数组对象转换为真正的数组 有几种常见的方法可以将类数组对象转换为真正的数组: 1. Array.from():使用 Array.from() 方法可以将可迭代对象或类数组对象转换为数组。 2. Array.prototype.slice.call():通过调用 Array.prototype.slice() 方法,并将类数组对象作为参数传入,可以将其转换为数组。 3. Spread Operator(展开运算符):使用展开运...
[ES6]模块与[CommonJS]模块的差异有哪些
差异主要有如下几点: CommonJS 输出是值的拷贝,即原来模块中的值改变不会影响已经加载的该值,ES6静态分析,动态引用,输出的是值的引用,值改变,引用也改变,即原来模块中的值改变则该加载的值也改变。 CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。 CommonJS 加载的是整个模块,即将所有的接口全部加载进来,ES6 可以单独加载其中的某个接口(方法), CommonJS this 指向当前模块,ES6 thi...
ES6 Map 数据结构了解多少
基本概念 Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者基本类型)都可以作为一个键或一个值。 Map 对象是键值对的集合。Map 中的一个键只能出现一次;它在 Map 的集合中是独一无二的。Map 对象按键值对迭代——一个 for...of 循环在每次迭代后会返回一个形式为 \[key,value\] 的数组。迭代按插入顺序进行,即键值对按 set() 方法首次插入到集合中的顺序(也就是说,当调用 set() 时...
es6 数据结构 Set 了解多少
Set 基本概念 Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。 Set对象是值的集合,你可以按照插入的顺序迭代它的元素。Set 中的元素只会出现一次,即 Set 中的元素是唯一的。 另外,NaN 和 undefined 都可以被存储在 Set 中,NaN 之间被视为相同的值(NaN 被认为是相同的,尽管 NaN !== NaN)。 有哪些属性和方法 操作方法: :添加某个值,返回 Set 结构本身。 :删除某个值...