Skip to content

算法大数相加,为什么会有这个限制?

​​最大安全整数​​:±9,007,199,254,740,991(即 ±(2^53 - 1))

js
9007199254740992 + 1 === 9007199254740992; // true(精度丢失)
0.1 + 0.2 === 0.30000000000000004;         // true(小数计算误差)
9007199254740992 + 1 === 9007199254740992; // true(精度丢失)
0.1 + 0.2 === 0.30000000000000004;         // true(小数计算误差)

限制的根本原因:IEEE 754 标准 JavaScript 的 Number 类型使用 ​​64 位双精度浮点数​​存储,结构如下

​组成部分​​​​位数​​​作用​​范围/限制
​符号位​​1 bit标识正负(0正/1负)-
​指数位​​11 bit决定数值范围-1022 ~ 1023(偏移量1023)
​尾数位​​52 bit存储有效数字(决定精度)最大表示 1.111...1(52个1)

关键限制:

  • ​​整数精度​​:尾数仅 52 位,因此能精确表示的整数上限为 2^53 - 1(安全整数)。
  • ​小数精度​​:部分十进制小数无法用有限位二进制表示(如 0.1),存储时被迫舍入。
  • ​数值范围​​: 最大值:≈1.7977e+308(Number.MAX_VALUE) 最小值:≈5e-324(Number.MIN_VALUE)

模块化了解吗,es和cmj,treeshaking是怎么做的

webpack自己写了什么插件

  • 字体压缩
  • 图片压缩

webpack热更新是怎么监听文件的变化

webpack热更新是怎么让文件能在浏览器上跑的

sourceMap是怎么找到对应的文件行列的

Source Map 通过 ​​mappings 的分层结构与 VLQ 编码​​,将编译后代码的行列位置映射回原始文件。其设计兼顾效率(相对偏移、变长编码)与精度(行列级映射),是前端调试复杂构建代码的核心基础设施。实际应用中,只需配置构建工具(如 Webpack)生成 Source Map,浏览器会自动完成映射。

instanceOf是怎么判断类型的

浏览器自定义的请求头有哪些限制

自定义响应头名称:

  • 由大小写字母、短划线和数字组成。
  • 长度为1~100个字符。 建议X-开头,如 X-User-Id

js实现三行省略,怎么判断那三个点在哪个字后面

js实现三行省略

小程序flex布局,三个元素不想其中一个被压缩

通过设置flex-shrink: 0配合合理的flex-basis值,你可以精确控制小程序中哪个元素在空间不足时不被压缩。建议同时设置flex-grow: 0来防止该元素不必要的扩大。这种方案确保了页面的布局稳定性和用户体验的一致性。

AI相关,flow?

不同程序之间样式表现不太一样怎么办

小程序DPR是什么

​​DPR(Device Pixel Ratio,设备像素比)​​ 是核心适配概念,用于解决不同设备屏幕显示精度差异的问题。 DPR表示 ​​物理像素(设备实际像素点数量)与逻辑像素(CSS/设备独立像素)的比值​​,计算公式为: ​​DPR = 物理像素 / 逻辑像素 例如:

iPhone 6 的物理分辨率为 750×1334,逻辑分辨率为 375×667,其 DPR 为 2。 若某设备 DPR=3,则 1 个逻辑像素对应 3×3 个物理像素点。

为何小程序需关注 DPR?​​

  • ​显示清晰度​​:高 DPR 设备(如 Retina 屏)需更高分辨率图片,否则图片会模糊。
  • ​布局适配​​:忽略 DPR 可能导致元素错位、尺寸偏差(如 1px 边框在高 DPR 设备变粗)。
  • ​性能优化​​:根据 DPR 动态加载适配图片,减少带宽消耗。

小程序中如何适配 DPR?​​

  • ​使用 rpx 单位​​: 小程序特有自适应单位,1rpx = 屏幕宽度 / 750。以 iPhone6(逻辑宽度 375px,DPR=2)为例,​​1rpx = 0.5px 逻辑像素​​,最终渲染为 ​​1 物理像素​​,完美解决多端适配。
  • ​图片多倍图方案​​: 为不同 DPR 设备提供对应分辨率的图片(如 @2x、@3x),通过 CSS 媒体查询或小程序内置机制加载。
  • ​避免硬编码尺寸​​: 使用 flex 布局、百分比或 rpx 替代 px,确保元素随屏幕自适应。

DPR 是连接物理设备与开发逻辑的核心桥梁。​​理解 DPR 并善用 rpx 单位​​,可高效实现小程序“一次开发,多端适配”的目标,避免显示失真与性能浪费

项目里用代码规范了吗,eslint是怎么检测代码错误的

ESLint 检测代码错误的核心原理是通过 ​​静态代码分析​​,结合 ​​抽象语法树(AST)​​ 和 ​​可配置规则​​ 实现。 通过 ​​AST 解析 + 规则匹配​​,ESLint 在不执行代码的前提下,实现了对代码风格、潜在错误的精准静态分析。

  1. ESLint 首先使用解析器(如默认的 Espree 或自定义的 @babel/eslint-parser、@typescript-eslint/parser)将源代码解析为 AST。 AST 是代码结构的树状表示,每个节点对应代码中的语法元素(如变量声明、函数调用等),并包含位置信息(行号、列号)
  2. ESLint 根据配置文件(如 .eslintrc.js)中的规则集合,深度优先遍历 AST。每条规则是一个独立的插件,通过 ​​访问者模式(Visitor Pattern)​​ 监听特定类型的节点。当节点匹配规则条件时,触发错误或警告

小程序瀑布流怎么实现,如果计算过程中,你们是怎么展示

npm命令是怎么知道有这些命令的

脚手架原理,npm原理 当你运行npm run命令时,会发生什么npm 常用命令是如何执行的

Vue的keep-alive原理

React的Hook为什么不能放在条件语句里面

为什么项目要做成workspace这种方式

有哪些业务是你主动推进的

qiankun做权限的话主应用和子应用怎么去做

Released under the MIT License.