通过手写hash路由理解单页应用

  在现代前端开发中,前端路由几乎是单页应用(SPA)不可或缺的一部分。Vue Router、React Router 等流行工具对路由进行了很好的实现,本文将通过一个简单的 Hash 路由实现一个简单的前端路由系统,帮助更好的理解路由实现逻辑。

阅读更多

JavaScript设计模式实战

  最近在学习设计模式,真的感觉它是一个很悬的东西,就看文本真的很难看懂,所以我就打算用最习惯的 JavaScript 的代码,通过实现 用户管理系统 这一统一场景下的不同功能,使用不同的设计模式来帮助理解。

阅读更多

NaN为什么不相等

  在 JavaScript 中有个很反直觉的事情,两个 NaN 不管是 == 还是 === ,返回结果都是 flase ,这也是一道很常出现的面试题,这里进行一个说明。

阅读更多

Js中的构造函数

  在写 JavaScript 的时候,经常可以看到 new Date() 这样的语法,这里 new 的就是构造函数,我们通过 function 可以定义,而箭头函数却不行。

阅读更多

JavaScript基础算法题

  最近开始了前端基础知识的复习,在这个文章里进行一个简单的记录,如果内容不特别多会全部更新在这里。由于封装成函数可能不利于理解和说明,在这里的大部分题目的解答都不会封装成函数。

阅读更多

类实例属性状态残留问题

  今天在看【新思路管理后台】时遇到了一个很奇怪的问题,函数执行正确的时候系统日志记录是没有问题的,但是函数执行错误的时候,系统日志中的操作者和操作行为不是默认的值,而是上一个正确操作者的信息。这是因为我对日志记录和函数返回其实是封装了一个操作执行类 OperationExecutor ,在多次调用时,某些实例属性(如 opAction)未能恢复初始值,导致后续调用继承了上一次的状态。本文简单记录一下解决的方案。

阅读更多

for循环与逗号运算符

  最近在复习 JavaScript 的过程中看到了一道有关 for 循环与逗号运算符的题目,感觉挺有意思的。for 循环是最常用的循环结构之一,逗号运算符(,)则是一个较为特殊但有用的运算符。本文将先整理他们的基本知识点,然后再完成这道题目。

阅读更多

CSS的五种主要定位方式

  在前端开发中,position 属性决定了元素在页面中的布局方式,直接影响页面的层级结构、交互体验以及响应式适配。合理使用 position,不仅可以提升页面的可读性,还能减少不必要的 marginpaddingtransform 调整,从而提高代码的可维护性。本文将全面介绍 static(默认定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和 sticky(粘性定位) 这五种定位方式,帮助读者更深入地理解 position

阅读更多

this指向

  在使用 JavaScript 时,this 的指向常常需要通过不同的方法进行绑定。常见的三种方法包括 applybindcall,它们的作用是将函数的 this 指向明确地绑定到特定的对象上。每种方法有其适用场景和特点,了解它们的区别和使用方法,有助于更好地控制函数执行时的上下文。以下是三种方法的详细介绍及其使用场景。

阅读更多