-
JavaScript 标准内置对象 - Date
构造函数 Date() 构造函数可以创建一个基于传入参数构建的 Date 实例,或返回代表当前时间的字符串。 无参数 当没有提供参数时,新创建的 Date 对象代表当前的日期和时间。 12345const date = new Date()console.log(date); // 2025-07-25T02:23:42.865Zconsole.log(date.getTime()); ... -
深入拆解一道真实的字节面试题来学习 AJAX
这是一道真实的字节跳动的面试题,通过这个可以加深对 AJAX 的整体理解。 题目 用程序模拟: 红灯每次亮 3 秒,绿灯每次亮 2 秒,黄灯每次亮 1 秒且交替循环,要求用原生 Promise 实现,最好还能加入更多控制 (提示:可以写一个 delay 函数)。 解法1: 同步函数 字节的面试一般会逐渐深入,我这里也模拟这个渐进式过程,先从最简单的实现开始。 1234567891... -
用事件循环详细分析一个简单的 promise 案例
基础概念 更多关于事件循环的概念,可见 JS 事件循环 为了彻底理解,我们首先要明确 JavaScript 运行时环境的几个核心组成部分: 调用栈 (Call Stack):一个后进先出(LIFO)的数据结构。当一个函数被调用时,它会被推入栈中;当函数执行完毕返回时,它会从栈中被弹出。JavaScript 主线程的所有同步代码都在这里执行。 堆 (Heap):一块内存区域,用于存储... -
使 JS 对象属性变成只读
在 JavaScript 中,你可以使用 Object.defineProperty() 或 Object.freeze() 方法来将对象的属性变为只读。 1. 使用 Object.defineProperty() 设置属性为只读 你可以使用 Object.defineProperty() 来定义一个只读属性。通过设置 writable 为 false,可以确保属性不可被修改。 12345... -
prototype 和 __proto__ 的关系,它们一样吗?
一句话:完全不一样! prototype 是函数的“户口本”,用来登记“子孙后代”应该继承什么。 proto 是实例对象的“寻根指针”,用来指向自己的“祖籍”(也就是它爹的户口本)。 一个是“设计图纸”,一个是“指向图纸的箭头”。 通常来说: function 或者说 ES6 里的 class 才有 prototype。 __proto__ 是实例有的,指向构造函数的 prot... -
ES6 面向对象编程的语法糖
书接上文: 继承的手写实现 既然我们已经搞明白继承的原理了,下面我们就可以看看 ES6 里是怎么做的了。 还是那个模态框的例子,这次我们使用 ES6 的方式实现 12345678910111213141516171819202122232425class Modal { constructor(title, content) { this.title = title ... -
更深入的认识 this 语句和 new 关键字
这篇文章能让你对 this 和 new 语句的理解更深刻。如果你需要深刻明白原型链、继承等等内容,这块内容将变得很重要。 关于 this 场景A: 在构造函数里 我们先搞懂这块代码: 12345const obj = {}obj.a = 1console.log(obj.a); // 1 是不是很好理解?说简单点,当我们这样写 1234function Hero(name, hp) ... -
用 98K 狙击步枪实现 JS 继承
手写继承就像使用 Kar98 狙击步枪,老、繁琐,但是稳固、可靠。 要实现子类继承父类的属性和方法,Java 来的小伙伴可能直接一个 extend 就解决了,JS 里确实也有这个语法糖,可见:ES6 面向对象编程的语法糖。 但是手写一遍能帮助你深入理解 JS 的原型链以及面向对象编程,更别提后来的很多新特性也是基于这个实现的 例子介绍 这次我们就来实现一个模态框(Modal),父类模态... -
地图类程序前端——使用阈值和噪声过滤算法处理平滑 UI
在前端层面解决 GPS 精度、信号强度等各种不可控因素造成的定位坐标抖动的问题
-
通过封装一个自定义 UI 组件来学习 v-model 原理
v-model 是 vue 的响应式体系里很方便的一个指令,了解其源码可以加深对各种 UI 组件库的理解,在某些企业的面试中也会发挥作用。 用于 HTML 标签的 v-model 下面两种方式完全等价 1<input type="text" v-model="username"> 1<input type="text" :value="username" @inp...