JavaScript
文章平均质量分 87
该专栏内容为JS基础知识
heiyay
这个作者很懒,什么都没留下…
展开
-
什么是Ajax,其底层原理是什么
Ajax(Asynchronous JavaScript and XML)是一种在Web应用程序中进行异步通信的技术。它使用JavaScript和XML(现在通常使用JSON)来实现在不刷新整个页面的情况下与服务器进行数据交换的能力原创 2023-07-14 16:38:51 · 1822 阅读 · 2 评论 -
理解JavaScript 的发布者/订阅者模式
发布者-订阅者模式是一种软件设计模式,用于实现对象之间的一对多依赖关系。在这种模式中,一个对象(被称为发布者)而其他对象(成为订阅者)可以在发布者上注册自己,以接受特定事件或消息的通知。原创 2023-07-27 17:42:55 · 1256 阅读 · 0 评论 -
JavaScript中的this指向,call、apply、bind的简单实现
this是JavaScript中一个特殊关键字,用于指代当前执行上下文中的对象。它的难以理解之处就是值不是固定的,是再函数被调用时根据调用场景动态确定的,主要根据函数的调用方式来决定this指向的对象原创 2023-08-17 20:26:43 · 233 阅读 · 0 评论 -
JavaScript如何实现数据的深拷贝、浅拷贝?
浅拷贝创建了一个新对象,然后将原始对象的属性值复制到新对象中。如果属性值是基本数据类型(如数字、字符串、布尔值等),那么它们会被复制,但如果属性值是引用类型(如对象、数组等),则只会复制引用,而不会复制引用指向的实际对象。原创 2023-08-17 20:43:38 · 199 阅读 · 0 评论 -
ES6新特性。对象、数组新增方法
ES6(ECMAScript 2015)是 JavaScript 的一个重要版本,引入了许多新的语法和功能,增强了语言的表达能力和开发体验。是一种类似于数组的数据结构,但它的值是唯一的,不允许重复。它提供了一种存储无重复值的集合的方式。Promise 提供了更便捷的处理异步操作的方式,避免了回调地狱,改善了代码的可读性。是 ES6 中引入的一种新的原始数据类型,用于创建独一无二的值。的键可以是任何类型的值,包括对象、函数等,而不仅仅是字符串。是一种新的数据结构,它是一种键值对的集合,与对象不同,原创 2023-08-17 21:27:08 · 410 阅读 · 0 评论 -
前端性能优化
前端性能优化原创 2023-08-14 21:13:55 · 329 阅读 · 0 评论 -
JavsScript知识框架
要系统性地精通 JavaScript,需要涵盖广泛的知识点,从基础到高级。变量、数据类型、运算符作用域闭包this 关键字的工作原理原型和原型链Promise 和异步操作事件循环机制原型继承与类继承(ES6)ES6 中的类、模块DOM 元素的获取和操作事件处理与事件委托动态创建和修改 DOM 元素ES6新特性高阶函数纯函数和副作用map、filter、reduce 等函数浏览器对象模型(BOM)定时器函数(setTimeout、setInterval)原创 2023-08-17 21:41:22 · 683 阅读 · 0 评论 -
垃圾回收机制
内存泄漏是指程序中已经不再使用的内存却没有被正确释放或回收的情况。在编程中,当对象或数据不再被程序使用,但其所占用的内存空间没有被垃圾回收机制回收,就会导致内存泄漏。内存泄漏可能会导致程序的内存消耗不断增加,最终导致程序的性能下降、崩溃或不稳定。在长时间运行的应用中,内存泄漏可能会导致严重的问题,因此及早识别和修复内存泄漏是非常重要的。当程序使用了一些系统资源(如文件句柄、网络连接等),但在使用完后没有显式地释放这些资源,就会导致内存泄漏。原创 2023-08-17 21:08:24 · 265 阅读 · 0 评论 -
如何理解原型及原型链?js的继承方式
每个对象都有一个原型,它定义了对象的属性和方法。当我们访问一个对象的属性或方法时,如果对象本身没有这个属性或方法,JavaScript 引擎会沿着对象的原型链向上查找,直到找到该属性或方法或者到达原型链的顶端。原创 2023-07-26 17:34:26 · 757 阅读 · 0 评论 -
如何理解JavaScript中的执行上下文
执行上下文是 JavaScript 中一个重要的概念,它是在代码执行期间用于管理和执行代码的环境。每当 JavaScript 代码在运行时,都会创建一个执行上下文,并将其压入执行上下文栈中。原创 2023-07-25 20:28:31 · 275 阅读 · 0 评论 -
深入理解Promise
当谈论 Promise 时,可以将其比喻为一种承诺或契约,用于处理异步操作的结果。异步操作是指那些不会立即完成的操作,比如从服务器获取数据、读取文件、发送网络请求等等。通常情况下,这些操作需要一定的时间来完成。Promise 的主要目的是在异步操作完成后,通过 Promise 对象来获取操作的结果或处理操作的失败情况。Promise 可以有三种状态:进行中(Pending)、已成功(Fulfilled)和已失败(Rejected)。原创 2023-07-21 17:43:45 · 335 阅读 · 0 评论 -
事件冒泡、事件捕获和事件委托
事件冒泡(Event Bubbling)、事件捕获(Event Capturing)和事件委托(Event Delegation)是 JavaScript 中与事件处理相关的三个重要概念。它们涉及到事件在 DOM 树中传播和触发的方式。例如,如果你有以下 HTML 结构:</</并且给inner和outer元素都绑定了相同的点击事件,当你点击inner元素时,事件会从inner元素开始向上冒泡,同时触发outer元素的点击事件。在现代浏览器中,事件传播包括两个阶段:捕获阶段和冒泡阶段。原创 2023-07-24 17:38:44 · 1299 阅读 · 0 评论 -
箭头函数与普通函数
在函数式编程中,箭头函数常用于处理数据流、映射、过滤等操作,因为它们更适合用于声明性的函数式风格代码。普通函数在闭包和作用域方面的行为更为灵活,适用于需要创建新的作用域、保存状态或实现私有属性的场景。箭头函数和普通函数在不同的使用场景中有各自的优势。箭头函数和普通函数在 JavaScript 中有一些区别,涉及到语法、作用域、在创建自定义对象类型时,普通函数是必要的。箭头函数的语法更为简洁,适用于只有一个表达式的函数体。绑定是词法作用域的,意味着它会继承外层的。当作为回调函数传递时,箭头函数的简洁性和。原创 2023-08-10 18:26:01 · 339 阅读 · 0 评论 -
JavaScript基础之基于数据类型和引用数据类型
使用 Object.prototype.toString.call() 方法:这是一种通用的方法,可以检测几乎所有的数据类型。但是对于 null 返回的是 “object”,这是历史遗留问题,可能会导致误判。对于函数返回的是 “function”,但函数也是对象的一种,因此不能准确区分一个变量是简单的函数还是其他类型的对象。基本数据类型:number, string, boolean, null, undefined, symbol。JavaScript的数据类型有7中,包括6个基本类型和一个引用类型。原创 2023-08-04 14:48:42 · 224 阅读 · 0 评论 -
单线程JavaScript为何如此高效
同步代码同步代码(sync code)直接进入执行栈执行。执行顺序按代码书写顺序。异步任务回调异步任务(如 setTimeout)进入任务队列。事件循环事件循环周期性地从任务队列取出任务,推入执行栈执行。当执行栈为空时,才会取出队列中的任务。执行栈先进后出执行栈采用先进后出的方式执行函数。在函数执行完毕后才会执行上层函数。这保证了函数的正确嵌套调用。微任务优先级高于宏任务宏任务(macrotask):出于任务队列的任务。原创 2023-07-03 20:56:17 · 163 阅读 · 0 评论 -
你不知道的JavaScript闭包知识
当一个函数能够记住并访问它创建时的词法作用域,即使该函数在其词法作用域之外执行,我们称之为闭包。闭包就像是一个背包,函数和它所需要的变量就像是放在背包里的物品。无论函数在哪里执行,它都能够打开背包并使用背包里的物品。在这个例子中,函数返回了一个内部函数。每次调用函数时,都会创建一个新的词法环境,其中包含一个变量count。返回的内部函数可以访问并修改这个count变量。当我们执行并将返回的函数赋值给counter变量时,实际上我们创建了一个闭包。无论何时调用counter函数,它都能够访问和修改。原创 2023-07-03 21:13:31 · 148 阅读 · 0 评论