鸿蒙系统中的 JS 开发框架

2020-09-15
阅读 2 分钟
16.6k
当然我最感兴趣的就是鸿蒙的 JS 框架 ace_lite_jsfwk,从名字中可以看出来这是一个非常轻量级的框架,官方介绍说是“轻量级 JS 核心开发框架”。

逐行分析鸿蒙系统的 JavaScript 框架

2020-09-15
阅读 7 分钟
15.5k
我在前文中曾经介绍过鸿蒙的 Javascript 框架,这几天终于把 JS 仓库编译通过了,期间踩了不少坑,也给鸿蒙贡献了几个 PR。今天我们就来逐行分析鸿蒙系统中的 JS 框架。

Deno 中文手册诞生记:18 位志愿者,5 天时间翻译完成了所有 Deno 核心 API

2020-04-23
阅读 2 分钟
4.4k
自 ry 宣布在 Deno 两周年的 2020 年 5 月 13 日发布首个 Deno 1.0 正式版后,Deno 再一次受到了开发者们的关注。

详解 HTML attribute 和 DOM property

2019-06-25
阅读 3 分钟
5k
当我们书写 HTML 代码的时候,我们为 HTML <abbr title="Element">元素</abbr>设置<abbr title="attribute">特性</abbr> ,例如:

我为 VS Code 开发了一个 Deno 插件

2019-03-08
阅读 2 分钟
4.7k
自 Deno 发布以来就备受关注,也有很多媒体和开发者称 Deno 为“下一代 Node.js”。然而 Deno 的目标则是不兼容 Node.js,没有 npm,没有 package.json。

免费的编程中文书籍索引(2018第三版)

2018-11-05
阅读 8 分钟
14.7k
截至目前为止,已经在 GitHub 收获了 40000 多的 stars,有 90 多人发了 600 多个 Pull Requests 和 issues。

机器人伪装成人类在 GitHub 上为开源项目修复 bug

2018-10-26
阅读 3 分钟
5.2k
2018年1月12日下午12:28,GeoWebCache/geowebcache 项目和往常一样在 github 上提交代码。2 分钟后 travis-ci 上的单元测试以失败告终,测试结果显示有 2 个测试用例报错了。没过多久,2018年1月12日下午1点35分,一名叫 LucEsape 的开发者发布了一个修复补丁。2018年1月12日下午2:10,开发者接受了补丁,并将其合并到代...

国际化相对时间格式化API:Intl.RelativeTimeFormat

2018-10-23
阅读 3 分钟
3.7k
现代 Web 应用程序通常使用“昨天”,“42秒前”或“3个月”之类的短语,而不是完整的日期和时间戳。这种相对时间格式已经变得非常普遍,以至于几个流行的库都实现了本地化格式化的函数。(例如 Moment.js,Globalize 和 date-fns。)

适用于 deno 的多版本管理工具 dvm 发布

2018-09-05
阅读 1 分钟
3.8k
不知不觉中,deno 已经默默的发布了 3 个版本了: 0.1.0 0.1.1 0.1.2 昨晚通宵做了一个 deno 多版本的管理工具: dvm。 github 地址: [链接] 功能基本参考了 nvm。 安装 {代码...} 使用 {代码...} 在 Windows 平台需要使用管理员权限打开命令行或者 PowerShell 示例 列出所有已安装版本 {代码...} 前面的星号(*)表示当前...

花了两天时间做了一个 deno 的网站,编译了 deno 的 Windows 版本

2018-08-15
阅读 1 分钟
7.9k
相信很多人都关注了 deno,毕竟是 nodejs 之父的大作。但是官方的编译指南也只是针对 Linux 和 Mac 环境的,如果你有一个可以科学上网的设备,那么只需要按照 readme 就可以顺利的编译一个 debug 版本的 deno。

分支预测:为什么有序数组比无序数组快?

2018-07-10
阅读 4 分钟
7.5k
我在一年前(2017年1月) 曾写过一篇文章《JavaScript 函数式编程存在性能问题么?》,在文中我对数组高阶函数以及 for-loop 进行了基准测试,得到的结果是 map`reduce` 这些函数比原生的 for-loop 大概有 20 倍的性能差距。

Deno 兼容浏览器具体指的是什么?

2018-07-03
阅读 4 分钟
4.7k
Deno 里面有一句描述:"Aims to be browser compatible",可以看到 Deno 的目标是兼容浏览器。那么这里的兼容浏览器到底如何是什么意思呢?

ES6 的解构赋值前每次都创建一个对象吗?会加重 GC 的负担吗?

2018-06-28
阅读 5 分钟
13.3k
这个例子的函数调用中,会真的产生一个对象吗?如果会,那大量的函数调用会白白生成很多有待 GC 释放的临时对象,那么就意味着在函数参数少时,还是需要尽量避免采用解构传参,而使用传统的:

Protobuf 作者不建议在 Deno 中使用 Protobuf

2018-06-27
阅读 4 分钟
8.6k
我比较好奇的是 deno 使用了 Protobuf,而没有使用 Mojo。既然目标是要兼容浏览器,却不使用 Mojo...... 但是从 issue 中可以看出,Ryan Dahl 之前是没有听说过 Mojo 的,但是他看完 Mojo 之后,依然觉得 Protobuf 是正确的的选择。

Deno 并不是下一代 Node.js

2018-06-04
阅读 6 分钟
22.6k
这几天前端圈最火的事件莫过于 ry(Ryan Dahl) 的新项目 deno 了,很多 IT 新闻和媒体都用了标题:“下一代 Node.js”。这周末读了一遍 deno 的源码,特意写了这篇文章。长文预警(5000字,11图)。

Excel 开始支持使用 JavaScript 编写自定义函数

2018-05-09
阅读 1 分钟
3.6k
0. 概述 微软为 Excel 增加了使用 JavaScript 编写自定义函数的支持。 1. 示例 比如一个功能:两数之和加 42: 我们可以使用 JavaScript 编写: {代码...} 然后就像使用其它 Excel 内置函数一样,这样调用: {代码...} 2. 注意事项 这个功能还没有在正式版发布。 Custom [JavaScript] functions are now available in De...

VSCode 的 Live Share 功能终于来了

2018-05-08
阅读 1 分钟
9.2k
我在去年曾经写过一篇:Atom 和 VSCode 同一天发布神器:实时编码分享,如今半年时间过去了,vscode 终于发布了第一个公开预览版: 视频地址:[链接] 墙内地址:[链接] 这简直太酷了! 不仅仅是编辑的协作,甚至可以共享终端,一起调试: 安装扩展就可以使用:Visual Studio Live Share | Visual Studio 安装方式: 打开...

探秘 Node.js 10 新功能的背后:V8 release 6.6

2018-04-27
阅读 4 分钟
11.3k
每六周,我们都会创建一个 V8 的新分支,作为我们发布流程的一部分。每个版本都是在 Chrome Beta 里程碑之前从 V8 的 Git master 分支出来的。今天(2018-03-27),我们很高兴地宣布,我们发布了一个新的分支:V8 version 6.6,在几个星期内,我们会发布 Chrome 66 Stable 版,在此之前它依然处于测试阶段。V8 v6.6 提供了...

VS Code、ATOM这些开源文本编辑器的代码实现中有哪些奇技淫巧?

2018-04-23
阅读 6 分钟
14.8k
研究 V8 比较多,也关注了一下 vscode 和 atom 的性能,每次 vscode、atom 的 change log 我都会看一遍。印象最深的是 vscode 1.14 的一次更新日志,doApplyEdits Lines inserted using splice · Issue #351 · Microsoft/monaco-editor:不要在循环中使用 splice。

Oracle 拥有 Javascript 商标,因此苹果公司下架了用户的 App!

2018-04-22
阅读 2 分钟
2.5k
某用户在 reddit 发文,自己开发了一个 App,是一个用来编辑 Html, css, javascript 代码片段的编辑器。然后收到了 Apple 的邮件,大概内容是“你不能使用 Javascript,因为 Oracle 拥有它”

驳《我不是很懂 Node.js 社区的 DRY 文化》

2018-04-19
阅读 3 分钟
8.4k
今天在群里有人讨论方老师的文章《我不是很懂 Node.js 社区的 DRY 文化》,我也看了一遍,槽点太多,不知道如何下笔。 方老师分析了几个依赖最多的 npm 包,每个都只有不到百行代码。 比如 is-odd,每周下载 300 万次,但是只有核心 5 行代码。而且依赖了每周下载 1000 万次的 is-number 库。 得出了一个结论: 原来有这...

[译] 开始使用新的 CSS Typed Object Model

2018-03-28
阅读 9 分钟
5.7k
0. 前言 现在,CSS 拥有一个适当的基于对象的 API 来处理 JavaScript 中的值。 {代码...} 手动拼接字符串和各种奇怪错误的日子已经结束了! 注:Chrome 66 为 CSS 属性的一个子集增加了 CSS Typed Object Model 的支持 。 1. 介绍 1.1 旧的 CSSOM 这些年 CSS 一直有对象模型(CSSOM)。事实上,每当你在 JavaScript 中读...

Chrome 66 Beta:CSS 类型对象模型,异步剪贴板 API,AudioWorklet,等

2018-03-28
阅读 5 分钟
2.7k
除非另有说明,否则下文所述的更改适用于 Android,Chrome OS,Linux,macOS 和 Windows 的最新 Chrome Beta 版本。在 ChromeStatus 上查看 Chrome 66 中完整的特性列表。

JavaScript 社区由一个库引发的“smoosh门”事件到底怎么回事?

2018-03-20
阅读 4 分钟
4.4k
一项名为 JavaScript 功能的提案 Array.prototype.flatten 证明与 Web 不兼容。在 Firefox Nightly 中发布该功能会导致至少一个受欢迎的网站中断。鉴于有问题的代码是广泛使用的 MooTools 库的一部分,很可能会有更多网站受到影响。(尽管 MooTools 在 2018 年并不常用于新网站,但它曾经非常流行,并且仍然存在于许多已...

Chrome 66 新增异步剪贴板 API

2018-03-19
阅读 4 分钟
7.4k
这个新的 Async Clipboard API 还可以使用 Promise 来简化剪贴板事件并将它们与 Drag-&-Drop API 一起使用。

ES2018 新特征之:正则表达式 dotAll 模式

2018-03-06
阅读 2 分钟
8.7k
ES2018 新特性 异步迭代器 正则表达式反向(lookbehind)断言 正则表达式 Unicode 转义 非转义序列的模板字符串 正则表达式 s/dotAll 模式(本文) 正则表达式命名捕获组 对象展开运算符 Promise.prototype.finally “正则表达式的 s (dotAll) flag” 提案 proposal-regexp-dotall-flag 由 Mathias Bynens 负责,目前已经进...

ES2018 新特征之:非转义序列的模板字符串

2018-03-05
阅读 2 分钟
9.5k
ES2018 新特性 异步迭代器 正则表达式反向(lookbehind)断言 正则表达式 Unicode 转义 非转义序列的模板字符串(本文) 正则表达式 s/dotAll 模式 正则表达式命名捕获组 对象展开运算符 Promise.prototype.finally 这个 ECMAScript 提案 “Template Literal Revision” 由 Tim Disney 负责,目前已经进入 stage 4,本提案是...

ES2018 新特征之:异步迭代器 for-await-of

2018-02-26
阅读 5 分钟
20.8k
ES2018 新特性 异步迭代器(本文) 正则表达式反向(lookbehind)断言 正则表达式 Unicode 转义 非转义序列的模板字符串 正则表达式 s/dotAll 模式 正则表达式命名捕获组 对象展开运算符 Promise.prototype.finally 1. 概述 在 ECMAScript 2015(ES6) 中 JavaScript 引入了迭代器接口(iterator)用来遍历数据。迭代器对象...

JavaScript 深拷贝性能分析

2018-02-02
阅读 4 分钟
14.2k
原文:Deep-copying in JavaScript - DasSur.ma 如何在 JavaScript 中拷贝一个对象?对于这个很简单的问题,但是答案却不简单。 引用传值 在 JavaScript 中所有的东西都是引用传递(原文有误,稍后写篇批判文 “By Value” or “By Reference” in JavaScript · Issue #22)。 如果你不知道什么意思,看看下面的例子: {代码.....

新的旁路攻击技术出现,Chrome 64 和 Firefox 57 将禁用 SharedArrayBuffer

2018-01-04
阅读 1 分钟
9k
昨天(2018-01-03)来自 Google Project Zero 的研究人员 Jann Horn 发表了一篇名为《旁路读取未授权内存的攻击技术》的博文。文中列举了一系列针对现代 CPU 使用的执行优化的新攻击技术。