V8引擎 精品漫游指南--Ignition篇(下 一) 动态执行前的事情
二. Ignition解释器(下一)
1. 前文总结 和 运行期前置知识
这个系列文章,已经写了一少半了,现在终于到了动态执行阶段了。
我们首先需要梳理一下知识,这部分内容,相对独立,但是都算是比较重要的知识点。
预编译的说法为什么不建议使用
在我们平时看文章,看资料,甚至是看一些比较权威的文档时,预编译 这个术语非常 ...
JavaScript 的25个高级特性
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
很多前端同学写 JavaScript 写久了,会觉得语言特性都已经用得差不多了:函数、数组、对象、Promise……没什么新鲜感。
但其实,JavaScript 还有不少被低估的语法和技巧。
它们可能是规范里的冷门细节,可能是 ES6+ 新增的语法糖,也可能是一些看似奇怪但非常实用的特性。
本 ...
同域名、同项目、仅 hash 变化,window.location.href 不跳转
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
两个 URL 只有 hash 后面的内容不同,浏览器会认为没有真正跳转,所以 window.location.href 不执行刷新
https://域名/cash-center/#/payMethod?params=abc
https://域名/cash-center/#/bindCard?params=12345
原因:浏览器只看 # 号前面的网址,不看 # 号 ...
前端实现带滚动区域的 DOM 长截图导出
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
日常开发中,导出带滚动条的DOM内容为图片时,普通截图只能抓可视区域?本文分享基于@snapdom的长截图方案,完美导出完整内容,还能精准复刻UI~
一、业务痛点(为什么选snapdom?)
开发中经常遇到「导出带滚动区域的DOM为图片」的需求(比如评估报告、图表列表、长表单) ...
JS-前端埋点神器 navigator.sendBeacon 全指南
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
前言
在前端开发中,埋点系统是必不可少的一环。我们经常需要在用户关闭页面、刷新或跳转路由时,向服务器发送最后一条统计数据(比如用户停留时长、页面跳出率)。
但这看似简单的需求,在实现时却危机四伏:请求发不出去?页面跳转卡顿?今天我们就来聊聊这个问题的终极解 ...
0.1加0.2为什么不等于0.3
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
0.1 + 0.2 为什么不等于 0.3?答不上来的都挂了
这个问题你可能在面试、线上 Bug、甚至随手写 Demo 的时候都见过:
console.log(0.1 + 0.2 === 0.3); // false
很多人第一反应是“浮点数精度问题”,但如果继续追问:
为什么偏偏是 0.1、0.2 这种小数出问题?
“精度”到 ...
效率工具推荐!一款开源免费的代办管理工具!
大家好,我是 Java陈序员。
在快节奏的工作与生活里,每天被大大小小的任务包围,被零散的待办事项打乱节奏,也被层出不穷的代办管理工具弄得眼花缭乱。市面上的代办工具要么复杂难上手,要么充斥广告和付费陷阱。
今天,给大家介绍一款开源免费的代办管理工具,支持多平台使用!
关注微信公众号:【Java陈序员】,获取开 ...
JavaScript this绑定规则:告别踩坑指南!
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
前言
在JavaScript学习中,this绝对是“让人又爱又恨”的存在——它看似简单,用起来却总让人摸不着头脑,一不小心就踩坑。有人说它是“动态代词”,有人说它是“隐式传递的对象引用”,其实只要摸清它的绑定规则,就能轻松驾驭!今天就结合具体代码实例,从“为什么有this ...
前端如何防止用户重复提交表单?4 种可靠方案(附防坑指南)
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
别再只靠“禁用按钮”了!真正的防重提交,需要前后端协同。
在电商下单、用户注册、支付发起等关键场景中,用户连点多次“提交”按钮是再常见不过的行为。
轻则造成数据库写入多条重复记录,重则导致用户被扣款两次、库存超卖——这绝不是危言耸听。
那么,前端该如何有效 ...
HTML 早已不是标签了,它现在是系统级接口:这 9 个 API 直接干翻常用 JS 库
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
HTML 早已不再是简单的“超文本标记”,它更像是一个连接底层硬件、浏览器内核与用户交互的系统级接口集合。
在现代 Web 架构中,很多原本依赖庞大 JS 库(如 jQuery, Axios, Socket.io)实现的功能,现在通过原生 HTML API 就能以更低的功耗和更高的性能完成。
一、 Popover ...
90%前端面试必问的12个JS核心,搞懂这些直接起飞!
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
你是不是也遇到过这样的场景?面试官抛出一个闭包问题,你支支吾吾答不上来;团队代码review时,看到同事用的Promise链一脸懵逼;明明功能实现了,性能却总是差那么一点...
别慌!今天我整理了12个JavaScript核心概念,这些都是2024年各大厂面试的高频考点,也是日常开发中真 ...
做了一个网页天气可视化
搜索"网页天气效果",你大概率会找到两类东西:一类是纯 CSS 写的下雨动画,十几行代码,@keyframes 让 div 从上往下飘;另一类是"调用天气 API 展示温度"的教程,跟视觉效果没半点关系。
真正意义上的"沉浸式天气可视化"——雨滴打到界面元素上溅射、雪花堆积在导航栏、镜头光斑随太阳位置偏移——这类东西,中文社区几乎 ...
高精度计算插件 decimal.js 处理 JS 浮点数精度问题(0.1 + 0.2 !== 0.3)
JS 中的浮点数计算经常会看到这样问题:为什么 0.1 + 0.2 不等于 0.3 ?
在浏览器控制台执行 0.1 + 0.2 会得到一个奇怪的结果:0.30000000000000004
为何结果会是这么奇怪的一个数字?人类瞄一眼就知道的结果,为啥交给 JS 会得出这么奇怪的结果?
都知道程序的世界就是二进制的天下,在电脑的 CPU 运算时,所有的十进制都 ...
探索JavaScript的秘密令牌:独一无二的`Symbol`数据类型
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
引言
在JavaScript的广阔世界中,数据类型构成了其最基础的语法元素。随着ES6的发布,这个大家庭迎来了两位新成员:BigInt和Symbol。如果说BigInt是为了解决大数运算的精度问题,那么Symbol的诞生,则像是一把为对象属性开启“隐私空间”和“唯一命名”的神奇钥匙。本文将带 ...
【医疗项目实战】借助LightningChart Python,打造高性能医疗数据可视化应用
在现代医疗与健康管理场景中,临床监护与健康数据分析离不开直观、实时且高速的数据可视化能力。本篇文章将介绍如何利用 LightningChart Python 高性能图表库,实现一个面向患者多参数健康指标的实时监控与分析应用,为医疗数据可视化提供一套完整方案。
LightningChart Python 最新版试用下载,请联系慧都科技 ...
打破同源枷锁:深入理解 postMessage 跨域通信机制
作为前端开发,你一定遇到过这样的场景:主站嵌入了第三方支付的 iframe,需要同步用户登录状态;或者通过 window.open 打开的子窗口,要向父页面传递操作结果。此时,浏览器的“同源策略”就像一道无形的墙,直接阻断了页面间的直接交互。而 postMessage 正是为打破这道枷锁而生的 HTML5 核心 API,它让不同源的窗口、框 ...
推荐node工具fnm下载到使用(用windows系统做的演示)
一、认识fnm
展开看介绍(给不熟悉fnm的小伙伴看的)
fnm 是高性能 Node.js 版本管理器,支持 Windows、macOS、Linux;
比nvm启动更快、内存占用更低可一键安装/切换多版本 Node.js;
且能读取.nvmrc或.node-version文件实现项目目录自动切换版本,是前端/Node开发者的常用工具。
fnm下载node
官方的方式去下载node
二 ...
display: contents 详解
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
display: contents 是一个相对较新的 CSS 属性值,它会让元素自身不生成任何盒子,但它的子元素和伪元素仍然正常生成。简单说:元素本身从渲染树中消失,但它的孩子还在。
基本概念
工作原理
<div class="parent">
<div class="child">内容</div>
</div>
/* 正常情 ...
一文读懂:CommonJS 和 ES Module 的本质区别
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
面试官:你能说说 CommonJS 和 ES Module 的区别吗?
我:……(脑子里只剩下 require 和 import)
说实话,这个问题你一定见过,而且99% 的前端都背过标准答案。
但真要往深了问一句:
为什么 ESM 可以 Tree Shaking?CommonJS 不行
为什么 ESM 的 import 是“只读的” ...
数组转树与树转数组
🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
扁平数组转树形结构 (Array To Tree)
核心痛点
处理“数组转树”最直观的思路是使用递归配合双重循环:遍历数组中的每一项,再次遍历数组寻找其子节点。
这种做法的时间复杂度为 O(n2)O(n2)当数据量 nn较小时(如几十条菜单),性能损耗尚可忽略。但当数据量达到数千 ...