在 ES6 之前,JavaScript 的对象属性名只有一种类型:字符串。这在单人开发的小项目中看似没问题,但在大型项目或多人协作开发第三方库时,属性名冲突(Collision)简直是噩梦。

于是,ES6 带来了Symbol。它不仅仅是一个新类型,更是解决架构设计中"唯一性"问题的银弹。

- 阅读剩余部分 -

阅读全文 »

基于零宽字符(Zero Width Characters)的盲水印技术。学会这招,你也能给你的页面加上隐形追踪器。

什么是零宽字符?

在Unicode字符集中,有一类神奇的字符。它们存在,但不占用任何宽度,也不显示任何像素。简单说,它们是隐形的。

最常见的几个:

  • \u200b (Zero Width Space):零宽空格
  • \u200c (Zero Width Non-Joiner):零宽非连字符
  • \u200d (Zero Width Joiner):零宽连字符

- 阅读剩余部分 -

阅读全文 »