Skip to content

WeAreOutMan

Dark
Personal Blog by Shenwei Wang.
Writing code, raising kid, exploring the world.

实现一个 JavaScript Sandbox

July 06, 2024

在某些项目中,特别是低代码平台、在线代码编辑器等,我们往往需要提供一个沙盒环境,让用户可以自行编写并运行 JavaScript 代码。这个沙盒需要提供一些平台内置 API…

多语言全文搜索

October 25, 2020

百度一下,你就知道;谷歌一下,你知道的太多了。 在工作中的一个项目里,我在文档系统 Docusaurus v2 之上实现了一个支持多语言的(针对中文文档有特别优化的)、离线/本地的全文搜索插件,托管在 GitHub 上: https://github.com/easyops…

编写一个 Chrome 开发者工具的扩展程序

April 25, 2020

在工作中的一个项目里,我们的前端框架建立在 Web Components 技术之上,每个界面都由数个到数十个 Custom Elements 组成。它们基于 Web 标准技术,因此开发者可以直接使用浏览器原生的开发者工具来辅助开发和调试。例如利用 Chrome…

我的第一个 VS Code 扩展

February 29, 2020

在工作中的一个项目里,我们为静态声明式的配置文件(JSON)添加了一个在运行时处理动态数据的能力。 我们尝试在 JSON 的字符串中扩展了类似 JS…

狂野澳大利亚

October 11, 2019

从太空俯瞰地球,有一块砖红色的大陆特别醒目,像一颗瑰丽的宝石镶嵌在我们的蓝色星球上…

编写良好的单元测试

June 15, 2019

“万物之始,大道至简” 本文尝试从简单的单元测试思想着手,探讨如何编写良好的单元测试。以下将主要基于 TypeScript , Jest , React , Enzyme…

纯净新西兰

April 30, 2018

在太平洋的深处,有一片土地,它和最近的陆地相隔两千公里,从恐龙时代开始,八千万年来它与世隔绝,直到七百多年前,才第一次有人类涉足,而实际上人类是站在这片土地上的第一种大型陆地哺乳动物…

一个模拟时钟的时间选择器 ClockPicker

April 24, 2014

最近开发的一个模拟时钟的时间选择器 ClockPicker,用于 Bootstrap,或者单独作为一个 jQuery 插件。 源代码托管在 GitHub 上: ClockPicker 最近项目中需要用到一个时间选择器,之前用到的 bootstrap…

JavaScript 语法陷阱

March 26, 2014

码代码虽易,不出bug不易,且码且珍惜 没有一门编程语言是完美的,JavaScript 也不例外,它语法陷阱重重,防不胜防: 加号 "with" 分号自动插入 声明提升 "eval" 多行字符串 变量泄漏 "arguments.callee…

JavaScript 基于原型的面向对象

March 25, 2014

JavaScript 支持面向对象的编程风格。 对很多开发者来说,“JavaScript 面向对象”这句话听起来就是在扯淡,它连 class 都没有,你是在逗我吗? 事实上 JavaScript…

JavaScript 作用域和闭包

March 24, 2014

作用域的嵌套将形成 作用域链 ,函数的嵌套将形成 闭包 。闭包与作用域链是 JavaScript 区别于其它语言的重要特性之一。 作用域 JavaScript…

JavaScript 特性

March 21, 2014

动态和函数式编程,是 JavaScript 的几个基本特性之一。动态让语言更加灵活和自由,函数式编程则是 JavaScript 的主要编程风格。 JavaScript 的另外几个重要特性,如作用域链与闭包、基于原型的面向对象等,将在其它文章中讨论。 动态 静态语言 vs…

用 Markdown 写作

February 18, 2014

Content is king. 比尔盖茨1996年关于互联网的论点 “内容为王” ,我们花了十几年才充分体会到这几个字的智慧。 过去十年,基于 WYSIWYG (what you see is what you get…