什么是尾递归?为什么那么优雅? 前端技术
尾递归是个好东西。 今天我使用通俗的话,来讲讲。 递归的好处是,可以让代码看着非常干净和安全。 而且阅读起来也更加的舒服。毕竟其实很多问题,它的逻辑天然就是递归的。 虽然现在 AI 时代了,但是我偶尔还是喜欢手写一些代码,感受代码的优雅。 先从一个最简单的代码开始,就是从 1 到 n ,算出所有的整数的和。 // 计算所有的整数和 function sum(...
Canvas 可以替代 DOM 了吗? 前端技术
好问题!我是个搞 SaaS 的,我也一直在研究两者的优劣区别。 2026 AI 时代了。到底命令 AI 去使用 Canvas 还是 DOM 去写我们的应用? 今天聊聊吧(顺便再加几个技巧),我是一个已经被时代抛弃的 前端程序员 。大家以后选择到底是 DOM 还是 canvas ,这个是很重要的事儿,两者差太多了。选对的,不要走火入魔了。不得不说,我也感慨,...
2026年了,Nodejs 和 Bun 究竟选哪个? 开发相关
都 2026 年了,Nodejs 其实算是很远古的软件了。虽然已经拥有 17 年的历史,久经市场和各大企业考验,但是速度一直是一个痛点。 今天晚上,简单聊聊 Nodejs ,以及 Node js 和 Bun 我们究竟选哪一个? 但是写服务器,Nodejs + TS 最合适了,生态太牛逼了,没人能和 JS 比生态,碾压级别丰富。。。再加上 AI ,开发速度刷...
终极拷问:用户的登录信息放哪里? 开发相关
多年的实践,有且只有一个答案: 应该放在 Cookie。 我是个搞 Web 出海(很适合一个人副业做)的,经常搞 SaaS ,对于这个状态储存,是真的有点东西。 是 httpOnly Cookie 这种: Set-Cookie: Token=sk-ajkdhaskjdh; HttpOnly; Secure; SameSite=Lax; Path=/ Htt...
Node-js 新手需要知道什么? 前端技术
JavaScript 就是编程世界的全部! 我一直是这样认为的。说实话,我当然知道还有 C PHP PYTHON ,但是 JavaScript 都能应付了。 node js 就是一种让 JavaScript 变成跟 C 和 python 差不多的技术。让你的 JavaScript 可以被执行。 (当然,Bun \ Deno也是,前者更快、后者更安全和规范)...
注意,JS 里的 JSON.parse() 也有安全隐患! 前端技术
其实我们天天使用的那个 JSON.parse() 也是一个坑。 而且还挺危险。有点像 PHP 里面的注入一样。 首先就是它是干什么的。 // 一个JSON格式的字符串 const jsonString= {name:在线企业交易平台,listings:5000,types:} ; // JSON.parse() 将其转化为对象 ...
三个最近做 SaaS 的 JS 小技巧 前端技术
首先是略跑题的题外话,程序员必须有一个自己的小项目,是不借助 AI 生成代码(起码不是那种完全置之不顾,连原理都不在乎)的项目,前端一样,其他语言也一样。 因为现在 AI 时代,让我自己都觉得惊悚的是,我现在已经变成一个类似于 CEO 的角色了,我已经 6 个月没有怎么书写过代码了。但我必然不是肉食者的管理层。对于靠技术吃饭的人,必须得学习技术,否则就算是在...
分享几个短小精悍实用的 js 代码 前端技术
其实还是一些现成的实用的代码更好用。 今天我把自己收藏的几个分享一下。都是一些过去可能得专门 pnpm npm 导入新库才能实现的功能,实际上几个字符就能搞定。在 AI 时代,收集到自己的收藏库里,可能会让 AI 生成的代码引入库更少,避开 AI 生成代码的冗余、兼容性隐患.... 反正不管怎么说,看看新鲜也行。 比如第一个,我前年做的业务里,需要随机 ID...
一个很冷门的 JS 知识点:逗号操作符 前端技术
你知道 JS 里有个逗号操作符吗? let a = 1; let b = 2; let c = (a++, b++); console.log(a, b, c); // 执行结果是 2 3 2 // 或者 if(true, false, true){alert( hi )} 在第一个这个代码里,c 赋值时,会把 a 和 b 都自增加赋值一下,然后 c 取最后...
在 JS 中为什么要少用 class ? 前端技术
先讨论一下使用类的意义。 使用类的意义 这个得先回到 C 的时代。现在你要搞 一个功能,比如说把一个元素放到一个容器里,栈。 栈就像我们吃饭用的盘子,在我们餐厅柜子里一摞,我们只能从顶部放入或取出。 为了实现它,就需要: 一个数组偷偷存数据(私有状态),几个内部方法管理这个数组。 但是有一定复杂度了,索性把它当做一个箱子来看待,对外只暴露 push / po...
求求你别再 .filter().map().sort() 了 前端技术
今天在这里,我吐槽一下 JavaScript 的链式调用,我觉得虽然有这个语法,但是我们最好永远都别用(就像这样,这是我以前真实项目里出现的代码),起码谨慎用: const topActiveUsers = users .filter(item = item !== null && item !== undefined) // 过滤空 .filter(p...
在 JavaScript 里闭包的一些陷阱 前端技术
作为一个前端程序员,我每天的任务大部分时间都是在和 js 斗智斗勇。虽然有了 AI 的辅助,但是懂点常见的坑,还是能节省大把的时间和 词元 token 的。js 太美了: 今天说的这些陷阱主要是闭包里的。 闭包就是一直反常识的,在函数内部创建的变量,在执行完函数后居然还能贮存到内存里的一种情况。很容易造成内存泄漏。 比如这个例子: function crea...
制作简易 2D 物理引擎:一个炫酷的小球碰撞 JS 网页特效制作过程 前端技术
在前端开发里,canvas 是 HTML5 里最炫酷的工具。我们今天就来搞一个这样的梦幻的效果,学习一下 ES6 的类在开发一个完整项目的思路(即 ES5 的构造函数),还有物理碰撞的程序的实现,当然,效果也很酷炫!
我捣鼓了个代码编辑器 areaEditor.js,2kB大小,很实用 前端技术
前两天我搞的那个在线 HTML 新标签页预览功能,很好用,最近在我业余“娱乐”上帮了很大的忙,它可以让我不用打开本地代码编辑器就能快速调试一些前端代码,我也逐步完善它的了很多功能。可是,很快它就有了一个问题: 使用 < textarea > 写代码很不舒服。当然,使用它来接受粘贴过后的代码还好,如果...
原生 JS 实现 HTML 转 Markdown,以及其实现逻辑(html2md.js 或 html2markdown.js) 前端技术
之前因为一些需要,需要转换部分 HTML 标签成 markdown 格式,但是不知不觉就完善到一个相对完整的函数。 然后我就封装成了一个文件放在了 github ,也简单做了两个示例网页。 HTML...
万能的 JavaScript,向网页中插入五线谱(abc.js) 前端技术
昨天晚上,刷知乎,突然看到一个问题,论证 Python 和 JavaScript 哪个更值得学。 结果下方大部分的答案不是推荐 JavaScript 就是都推荐学。这两个语言都是脚本语言,都有着粗暴简...
如何用 JavaScript 制作一个好用又好玩的图片压缩工具 前端技术
现在的设备发达了,图片拍下来动辄 5MB 10MB,单反相机歘欻欻一张经能达到 40MB,而手机的内部储存也跟着很大随便一个手机都 100G 。 但对于我来讲,反而觉得不是很舒服。一张照片,占用 5mb...
用纯 JavaScript(原生)替代 jQuery 前端技术
转载自 https://youmightnotneedjquery.com/ 。很久以前关注这个文章,不过一直忽略。现在正式转载到我的网站 ccgxk.com 。
对于 emlog pro 目前 avatar 头像不显示的问题,暂时使用这个方法解决 emlog 文档
avatar 头像 cdn 不稳定,目前 emlog 官方还没有放出更新包。因......
寻找可靠的长久的存储介质之旅,以及背后制作的三个网页 前端技术
其实对于目前的形式来说,虽然像 U 盘、固态硬盘、甚至光盘这些信息储存介质(设备)的容量越来越高,但是不得不说这......
原生 JS 实现 HTML 转 Markdown ,html2md.js 前端技术
之前因为一些需要,需要转换部分 HTML 标签成 markdown 格式,但是不知不觉就完善到一个相对完整的函数........
