创见博客
创作中心
登 录
JavaScript
聚焦 JavaScript 语言基础、运行机制、异步编程、浏览器原理和工程应用,夯实前端开发底层能力。
npm发包
「npm 发包」(npm publish)本质上是将你本地编写的 JavaScript/Node.js 代码包,上传并发布到 npm 官方公共仓库(npmjs.com)的过程。
2026-02-13
npm
CSRF攻击(Cross-Site Request Forgery)
CSRF = Cross-Site Request Forgery(跨站请求伪造):攻击者诱导用户在已登录的状态下,向目标网站发送用户“不知情”的恶意请求。
2026-02-11
JavaScript
XSS攻击
XSS = Cross-Site Scripting(跨站脚本攻击),核心:攻击者往你的网页里注入并执行了恶意 JavaScript。
2026-02-11
JavaScript
Cookie的携带规则
Cookie同站请求基本都会携带;跨站是否携带,看 SameSite。
2026-02-10
JavaScript
浏览器的持久化存储方案
4种浏览器存储方案:Cookie、localStorage、sessionStorage、IndexedDB
2026-02-10
javaScript
前端跨域(浏览器的同源策略)
跨域的本质是浏览器的同源策略(Same-Origin Policy) 限制:浏览器为了安全,只允许当前页面请求「同源」的资源,当请求的资源和当前页面的「源」不一致时,就会触发跨域限制。
2026-01-30
JavaScript
发布订阅的实现
发布订阅模式,这个模式的核心是解耦事件的发布者和订阅者,让它们之间不直接通信,而是通过一个事件中心来管理。
2026-01-30
JavaScript
手写实现Promise
Promise是js中为了避免回调地狱而设计的异步语法,手写Promise有助于我们理解Promise的运行原理。
2026-01-30
JavaScript
Promise的四个静态方法(all/allSettled/)
Promise 的all、allSettled、race、any这四个静态方法都用于处理多个 Promise 组成的数组(可迭代对象),返回值都是一个全新的 Promise,但它们的触发条件与结果不同
2026-01-29
JavaScript
Promise的语法糖async/await
JavaScript 中的 `async/await` 语法是处理异步操作的**语法糖**(底层还是基于 Promise 实现),核心作用是让异步代码写起来、读起来像同步代码一样直观。
2026-01-29
JavaScript
Promise详解
Promise 是 JavaScript 中用于处理异步操作的一个内置对象(构造函数),它的核心作用是解决回调地狱问题,让异步代码的写法更优雅、更易维护。
2026-01-29
JavaScirpt
强缓存和协商缓存
HTTP 缓存的核心目标是减少不必要的网络请求、提升资源加载速度、降低服务器压力,强缓存和协商缓存是实现 HTTP 缓存的两大核心方式,其中强缓存优先级高于协商缓存
2026-01-29
计算机网络
JavaScript中的继承是如何实现的
js的继承实现底层依赖于原型链。通过在子类方法中通过call调用父类方法实现实例的继承。通过让子类的原型对象指向父类的实例实现父类方法的继承。Class的extends可以看作寄生继承的语法糖。
2026-01-28
JavaScript
BOM(浏览器对象模型)与DOM(文档对象模型)
JavaScript 能在浏览器中实现交互功能,核心就是依赖 BOM 和 DOM,两者共同构成了 JS 操作浏览器和页面的基础,但职责分工完全不同。
2026-01-24
JavaScript
JavaScript的垃圾回收算法
JavaScript 是自动垃圾回收语言,不需要开发者手动分配/释放内存(不像 C/C++ 需要malloc/free),垃圾回收的核心目标是找出内存中不再被使用的对,释放其占用的内存,避免内存泄露。
2026-01-23
JavaScript
手写实现bind/call/apply
手写实现 call、bind、apply 这三个函数的核心原理,和函数的隐式调用(也常说“上下文绑定”)密切相关,本质上就是通过改变函数执行时的this指向来实现的。
2026-01-22
JavaScript
this(上下文对象)常见考题
this(上下文对象)常见考题
2026-01-21
JavaScript
JavaScript中的事件委托(Event Delegation)
事件委托(也叫事件代理)是 JavaScript 中一种高效的事件处理模式,核心思想是:将子元素的事件处理函数绑定到它的父元素,利用事件冒泡的机制,让父元素来处理子元素触发的事件。
2026-01-21
JavaScript
JavaScript的this(上下文对象)
this是 JavaScript 中的一个关键字,它不是固定不变的,而是在函数被调用时动态绑定的,指向的是当前函数执行时的上下文对象。
2026-01-21
JavaScript
通过闭包实现的私有变量与Class的私有变量
ES6 Class 的私有属性(# 开头的属性)是 JS 语言层面原生支持的特性,并非通过闭包实现;而我们之前用闭包实现的“私有变量”,是开发者利用语言特性(作用域+闭包)手动模拟的封装效果。
2026-01-20
JavaScript
JavaScript中的闭包
闭包是指一个函数能够访问并记住其外层(父级)函数作用域中的变量,即使外层函数已经执行完毕并退出。简单来说,闭包让“内部函数”可以“记住”并访问“外部函数”的变量,突破了函数作用域的限制。
2026-01-20
JavaScript
JavaScript的作用域及其原理
作用域(Scope)简单来说,就是变量和函数的可访问范围,它决定了代码中哪些部分可以访问某个变量/函数,以及变量的生命周期。
2026-01-20
JavaScript
事件循环(Event Loop)
事件循环(Event Loop)的核心作用就是:协调主线程、调用栈、任务队列,让单线程的 JS 能够处理异步任务,实现非阻塞执行。
2026-01-20
javascript
CSS之BFC(Block Formatting Context)
BFC 全称是块级格式化上下文(Block Formatting Context),可以把它理解成:一个独立的“布局容器”,容器内部的元素布局不会影响到外部元素,外部元素也不会影响到内部元素。
2026-01-20
CSS
in与hasOwnProperty方法
in和hasOwnProperty是js中常用的检测属性是否属于某对象的方法。两者之间的区别在于是否检测原型链上的属性。
2025-12-30
javascript
JavaScript 中的 call、apply 与 bind 方法
JavaScript 中的 call、apply 与 bind 方法,是用来改变函数作用域的重要方法。
2025-12-30
javascript
js中的浅拷贝与深拷贝
浅拷贝与深拷贝是js中的一个重要概念,涉及到js的底层设计,需要对js的引用数据类型有一定认识。
2025-12-28
javascript