案例研究:在 Entanglement 游戏中 HTML5 Canvas 的使用
今年春天(2010年),我对 HTML5 和相关技术的快速增长的支持产生了兴趣。当时,我和一位朋友在为期两周的游戏开发竞赛中互相挑战,以磨练我们的编程…
案例研究:在 Chrome 中拖拽下载
拖放(DnD)是 HTML 5 的众多强大功能之一,Firefox 3.5,Safari,Chrome 和 IE 都支持它。谷歌最近推出了一项 新功能 ,允许谷歌浏览器用户将文件从…
细读 JS | XSS、CSRF 浅谈
一、前提 Cookie 常用于会话状态管理、个性化设置等。 在浏览器可以通过 document.cookie 来访问 Cookie document.cookie 只能获取当前作用域下的 Co…
细读 ES6 | 模板字符串进阶用法
模板字符串(template string)是 ECMAScript 2015 规范中的一种新特性,在平常开发中使用频率非常高。也可称作模板字面量(template literal)。 常…
为什么用 void 0 代替 undefined?
众所周知,void 运算符总会返回一个 undefined 的结果。那么,为什么要用 void 0 代替 undefined 呢?这不是多此一举了吗? 一、void 运算符 语法非…
细读 JS | JavaScript 模块化之路
学习不能停,都给我卷起来... 一、前世今生 在 ES6 之前,JavaScript 一直没有官方的模块(Module)体系,对于开发大型、复杂的项目形成了巨大的障碍…
初试 Yarn Workspaces
Usage 查看 workspaces # 查看 Workspace 信息 $ yarn workspaces info 执行脚本命令 # 在某个 workspace 中执行脚本命令 $ yarn workspace <works…
JavaScript 变量不能被 delete 的原因
请记住:任何时候,变量只能通过使用 var、let、const 关键字才能被声明。 我们都知道, 无论在全局上下文,还是其他任何上下文中,都可以通过省略变…
Safari/WebKit 无法正确渲染 foreignObject 中的 HTML 元素
实锤了,Safari 就是新时代的 IE 浏览器。原因是有些东西在 Safari 渲染表现与预期(标准)不一致,而且 Safari for Mac 跟 Safari for iOS 的表现还…
在 Parallels Desktop 中使用宿主机代理
在 Mac 上安装了 ClashX 等代理客户端后,如何让 Parallels Desktop 里的 Windows 使用宿主机代理以科学上网呢? 启用「ClashX &rarr 允许局域网连接…