
JavaScript深入
文章平均质量分 74
JavaScript深入学习
白桃与猫
每天学一点点~
展开
-
JavaScript 创建对象的8种方式?
创建自定义对象可以创建 Object的一个新实例,再添加属性和方法。原创 2025-01-24 09:59:16 · 618 阅读 · 0 评论 -
Javascript中正常对象和异质对象是什么?
正常对象是指符合 ECMAScript 规范中默认行为的对象。这些对象没有特别的内部行为或自定义逻辑,它们的属性访问、赋值、删除等操作完全遵循语言的标准行为。原创 2025-01-13 15:33:01 · 446 阅读 · 0 评论 -
Web Worker和 Service Worker 的区别和共同点?
Web Worker 是浏览器提供的多线程机制,用于在后台执行脚本,适合长时间运行的计算密集型任务。原创 2025-01-06 11:01:56 · 1086 阅读 · 0 评论 -
JavaScript中对象继承的方式有哪些?
父类的属性和方法不会共享到所有子类实例,支持向父类传递参数。通过在子类的构造函数中调用父类构造函数,避免共享引用类型属性,也就是下面所提到的。采用这种方式父类构造函数只调用一次,继承了父类的实例属性和原型方法,高效且是目前最常用的继承方式。继承了父类的实例属性和原型方法,不会共享引用类型属性,每个实例都可以单独使用父类的方法。简化了继承的语法,支持调用父类构造函数(super),更符合面向对象编程的习惯。当使用原型链继承时,父类的引用类型属性会被所有子类实例共享,子类通过原型链继承父类的属性和方法。原创 2025-01-06 09:58:56 · 469 阅读 · 0 评论 -
什么是Web Worker?如何使用Web Worker?
JavaScript 语言采用的是单线程的,也就是说,所有任务只能在一个线程上完成,一次只能做一件事。前面的任务没做完,后面的任务只能等着。是一种,允许在后台线程中执行脚本,从而避免长时间运行的脚本阻塞用户界面。Web Worker 的作用,就是。在主线程运行的同时,Worker 线程在后台运行,两者互不干扰。等到 Worker 线程完成计算任务,再把结果返回给主线程。主线程与 Worker 之间的通信内容,原创 2024-11-27 14:01:59 · 2433 阅读 · 0 评论 -
ES2023(ES14)新特性有什么?
toSpliced`是一种数组操作方法,它与 splice 类似,但 toSpliced 不会修改原数组,而是返回一个新数组,包含删除和新增元素后的结果。它在操作数组时更加安全,因为不会改变原始数据。原创 2024-08-06 09:24:33 · 609 阅读 · 0 评论 -
什么是多重继承中的钻石问题?如何解决?
如果“A”提供了方法 drive(),而“B”和“C”都覆盖(多态地)了这个方法,那么当“D”引用 drive() 时,它应当使用那个版本呢(B:drive() 还是 C:drive())?使用虚继承,开发者必须显式地解决多重继承带来的任何歧义。在Python中,如果类D没有定义drive()方法,那么调用d.drive()会根据MRO来决定使用哪个父类的drive()方法。的方法来解决这类问题。”(Diamond Problem),是多重继承中的一个典型问题,它出现在使用多重继承的编程语言中,如C++。原创 2024-03-19 09:21:49 · 833 阅读 · 0 评论 -
什么是幂等操作?
在数学和计算机科学中,是指。换句话说,重复多次相同的操作不会产生不同的效果。这个概念通常用于描述函数、操作或系统的性质。在具体应用中,原创 2023-12-17 17:35:34 · 632 阅读 · 0 评论 -
编译器重排是什么?
编译器重排(Compiler Reordering)是编译器在编译程序代码时进行的一种**优化操作,目的是提高程序的执行效率。在不违反代码的原有语义(即不改变程序执行结果)的前提下,编译器会对源代码中的指令顺序进行调整。原创 2024-03-29 16:55:47 · 493 阅读 · 0 评论 -
Canvas的基本介绍与使用
Canvas 是 HTML5 中引入的一个重要特性,它允许网页动态渲染二维图形.。通常使用JavaScript脚本来绘制·canvas·元素。例如,它可以用于或者。是一个内联元素,默认尺寸为宽 ×高。也可以通过设置width和height属性来调整画布的大小。由于 Canvas 是基于的,所以缩放不会影响图形质量。原创 2024-06-04 16:47:58 · 1189 阅读 · 0 评论 -
函数式编程之组合函数、pointfree风格
组合函数是一种函数式编程中的概念,用于将多个函数组合成一个单一的函数,其中每个函数的输出是下一个函数的输入。如果要组合多个函数来创建一个更强大的组合函数,可以使用函数的方法来组合。方法对累加器(accumulator)和数组的每个值(按从右到左的顺序)应用一个函数,并使其成为单个值。另外,组合函数运用到了,只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。每次调用函数时,它只接受一部分参数,并返回一个函数,直到传递所有参数为止。原创 2024-04-07 14:02:04 · 294 阅读 · 0 评论 -
JavaScript中的行为委托和面向类的区别?
行为委托意味着:在访问某个对象上不存在的属性或方法时,让这个对象为属性或方法引用提供一个委托。可以多级委托,但是不能相互委托,不能在两个或多个对象间相互地委托(双向地)对方来创建一个 循环 。比如使 B 链接到 A,然后试着让 A 链接到 B。原创 2024-03-26 09:18:00 · 328 阅读 · 0 评论 -
什么是稀疏数组和密集数组?
稀疏数组(Sparse Array):稀疏数组是指数组中包含未定义的元素,或者说其中某些位置没有被分配值。原创 2024-02-22 13:44:18 · 1183 阅读 · 0 评论 -
什么是Symbol?在实际开发中怎么用?
Symbol 是 ECMAScript 6(ES6)引入的一种新的基本数据类型。Symbol 类型的值是唯一且不可变的。目的是确保对象属性使用唯一标识符,不会发生属性冲突的危险。原创 2023-12-17 17:14:03 · 896 阅读 · 0 评论 -
Array.from()的6种常见用法
Array.from() 是一个用于从类数组对象或可迭代对象创建新数组的静态方法。arrayLike: 类数组对象或可迭代对象,用于。mapFunction (可选): 对数组中的进行。thisArg (可选): 执行 mapFunction 时,用作的值。原创 2023-12-02 11:22:54 · 3333 阅读 · 0 评论 -
类数组对象是什么?
类数组对象是指具有和(通常是 length 属性)的对象,但它不具备数组的方法,比如push、pop、forEach等。常见的类数组对象有哪些?让我们来看看~原创 2023-12-02 11:19:47 · 648 阅读 · 0 评论 -
什么是proxy代理?
代理(Proxy)是 JavaScript 中一种非常强大而灵活的功能。代理允许你,提供了一种拦截、定制和扩展对象操作的机制。代理通过使用Proxy对象来创建。Proxy(被代理的对象)和一个(handler)。处理程序对象又分为了和。先看一个简单的栗子,创建一个空代理,不会做任何的额外操作。要想定义额外的操作,要在handler中定义捕获器。通过代理对象访问属性,会触发get()捕获器;通过代理对象给属性赋值。会触发set()捕获器。${原创 2023-11-26 16:08:13 · 1806 阅读 · 0 评论 -
什么是闭包和作用域链?
闭包指的是那些引用了另一个函数作用域中变量的函数,通常是在嵌套函数中实现的。举个栗子,createCounter 接受一个参数 n,然后返回一个匿名函数,这个匿名函数是闭包,它可以访问外部函数 createCounter 的局部变量 n。因为这个内部函数在外部有被引用,该函数会不会被销毁,n的值也会被保存。原创 2023-11-26 15:53:05 · 1274 阅读 · 0 评论 -
什么是arguments对象?
`arguments` 对象是 JavaScript 中的一个特殊对象,它包含了函数被调用时传入的所有参数。`arguments` 对象是一个类数组对象,它有一个 `length` 属性和按数字索引的元素。每个函数在执行时都会自动创建一个 `arguments` 对象。我们可以通过arguments去访问参数。原创 2023-11-23 22:05:51 · 803 阅读 · 0 评论