对象的浅拷贝

123const obj1 = {a : 1, b : 2};const obj2 = Object.assign({}, obj1);console.log(obj2); //{ a: 1, b: ...

深拷贝与浅拷贝的区别

123456789101112131415161718192021let originalObject = { name: "John", age: 30, hobbies: ["reading"...

数组索引背后隐藏了哪些类型转换?

12345678let a = new Array();a[0] = 1;a["0"] = 2;a[0]++;console.log('a["0"]的输出是', a["0"...

理解JavaScript中this的行为:普通函数vs箭头函数

在 JavaScript 中,this 是一个非常重要但也容易引起混淆的概念。特别是在普通函数和箭头函数之间,this 的行为有着显著的区别。在这篇文章中,我们将通过一个代码示例,深入理解 this 在不同场景下的指向。 代码示例1234567891...

ajax

AJAX(Asynchronous JavaScript and XML)是一种用于创建交互式网页的技术。它允许网页在不重新加载整个页面的情况下,与服务器交换数据和更新部分网页内容。以下是AJAX的一些核心概念: 1. 同步与异步 同步请求:在发送请...

单例模式

单例模式饿汉式12345678910111213141516171819202122232425262728293031var Singleton = (function() { var instance; function creat...

计算数组平均值

计算数组平均值使用 reduce 方法1234const numbers = [1, 2, 3, 4, 5];const sum = numbers.reduce((accumulator, currentValue) => accumulat...

Ajax、Fetch和Axios

AjaxAjax(Asynchronous JavaScript and XML,异步JavaScript.与XML技术),使网页实现异步更新,不重新加载网页的情况下,对网页部分进行更新不是一种新技术,而是2005年被提出的新术语由XMLHttpRe...

简单了解null和undefined

句简单来说是:undefined代表了不存在的值,null代表了没有值。也就是,比如对一个值声明后,没有赋值,输出他就是undefined,是不存在的,而当赋值为null,那么输出就是null。这两者还有一些区别点要注意: 123456789//1u...

闭包和内存泄漏

闭包有权访问另外一个函数作用域中变量的函数。闭包是指那些能够访问自由变量的函数.自由变量是指在函数中使用的,但既不是函数参数也不是函数的局部变量的变量。闭包=函数+函数能够访问的自由变量。每一个函数都会拷贝上级作用域,形成一个作用域链条。闭...

1234