原创 Math.min() 爲什麼比 Math.max() 大?

考慮如下代碼: var min = Math.min(); var max = Math.max(); console.log(min < max); 按照常規思路,這段代碼應該輸出 true,畢竟最小值應該小於最大值。但是當我們運行這段

原创 免費的編程中文書籍索引(2018第三版)

之前我在 github 上整理了來一份:free-programming-books-zh_CN(免費的計算機編程類中文書籍)。 截至目前爲止,已經在 GitHub 收穫了 40000 多的 stars,有 90 多人發了 600 多個 P

原创 機器人僞裝成人類在 GitHub 上爲開源項目修復 bug

2018年1月12日下午12:28,GeoWebCache/geowebcache 項目和往常一樣在 github 上提交代碼。2 分鐘後 travis-ci 上的單元測試以失敗告終,測試結果顯示有 2 個測試用例報錯了。沒過多久,2018

原创 爲什麼這樣也能運行? [ ].concat[1,2,3]

This is just for fun. 本文的宗旨是:This is just for fun。這段代碼沒有任何實用的價值,但是通過這段代碼,你可以瞭解 javascript 被忽略的知識點和語法。 1. 問題 下面的代碼的執行結果

原创 React:"don't fuck it up like Google did with Angular"

React 核心開發人員 sebmarkbage 大神在 GitHub 開了個 issues,用來徵詢社區對 JSX 2.0 的建議。 ReactJS VS AngularJS 到底增加(改動)了什麼呢? #4 - 不對屬性和

原创 V8 性能再升級,支持更多 ES2015 語法優化

這幾天 javascript 最火的新聞莫過於 koa2 發佈了正式版。目前最新版本是v2.0.1,koa2 團隊宣稱 “只要 nodejs 還未支持 async,koa2 就一直不發佈正式版”,隨着 node v7.6.0 的到來,全棧工

原创 V8 使用“常量摺疊”優化技巧,導致冪(**)運算有時候不等於 Math.pow()

在如今的主流 Web 編程語言中,如 PHP 或 Python 等,都包含冪運算符(一般來說符號是 ^ 或者 **)。而最新的 ES7 中也增加了對冪運算的支持,使用符號 **,最新的 Chrome 已經提供了對冪運算的支持。 但是在 ja

原创 使用 D8 分析 javascript 如何被 V8 引擎優化的

在上一篇文章中我們講了如何使用 GN 編譯 V8 源碼,文章最後編譯完成的可執行文件並不是 V8,而是 D8。這篇我們講一下如何使用 D8 調試 javascript 代碼。 如果沒有 d8,可以使用 node 代替。 新建文件 add-o

原创 微信小程序開發資源彙總 awesome-wechat-weapp

本文託管在github上,不定期更新:justjavac/awesome-wechat-weapp 新聞報道 微信正式開放內測“小程序”,不開發APP的日子真的來了?(36氪) 關於微信小程序(應用號),我能透露的幾個細節(可能吧) 你的

原创 你是寫代碼的,他是社區運營的,你和他撕了一整天,人家的流量有了,你的代碼呢!

你是寫代碼的, 他是社區運營的, 你和他撕了一整天, 人家的流量有了, 你的代碼呢!

原创 當一個人聽不懂另一個人在說啥的時候,他會怎麼發牢騷呢?

英語:“It is Greek to me!”(“簡直就是希臘語!”) 南非語:“Dis Grieks vir my!”(又是希臘語) 拉丁語:“Graecum est; non potestlegi.”(還是希臘語) 葡萄牙語:“E gr

原创 爲什麼 Math.min() 比 Math.max() 大?(續)

昨天心血來潮寫了一篇文章:爲什麼Math.min() 比 Math.max() 大? 爲什麼很多人會有這種疑惑,是因爲犯了想當然的錯誤——望文生義。Math.min() 作爲一個函數,返回的並不是最小值;同理 Math.max() 返回的也

原创 適用於 deno 的多版本管理工具 dvm 發佈

不知不覺中,deno 已經默默的發佈了 3 個版本了: 0.1.0 0.1.1 0.1.2 昨晚通宵做了一個 deno 多版本的管理工具: dvm。 github 地址: https://github.com/justjavac/dvm