C 语言实现整数快速模除(modulo)和地板除(floordiv)

2017-01-11
阅读 1 分钟
7.7k
众所周知,C 语言(自从 C99 开始)的整数运算只有取余(remainder)运算符(%)和舍去小数部分的整数除法(truncated division, round toward 0,/),也就是说,% 运算的结果的符号取决于 dividend(被除数)而不是 divisor。

JS 实现 JS 引擎 - 二元逻辑运算符的后缀表达式求值

2016-10-30
阅读 2 分钟
6.2k
代码修改自我在 javascript中运算符优先级的问题 中的回答 完整的 JS 引擎还需要处理运算符优先级的问题,这里简化复杂度,人工把表达式转换成后缀表达式再用程序进行自动求值 主要目的在于演示 JS 引擎表达式求值的过程中求值的先后顺序,以及 Short-circuit evaluation {代码...} 执行 1: {代码...} 结果 1: {代码.....

如何閱讀混淆過的代碼之零:揭示邏輯

2015-04-25
阅读 1 分钟
1.9k
首先稍微格式一下代碼 去掉不必要的縮進 大功告成!

一個 js 自製 console

2015-04-19
阅读 1 分钟
2.6k
剛纔被問到有沒有相關文章推薦,搜了一下決定自己動筆寫了。當初寫這個東西的原因是既沒電腦也沒網更沒調試工具,所以渣代碼就不放了。 首先,你要寫一個 nodejs 風格的調試工具,效果大概是這樣的: 然後只要支持摺疊就可以了,最終效果是這樣的: over~ 後記:寫這個工具其實是爲了,在 iPad 上寫一個 markdown 編輯器:

譯文 別再用 JS 框架了

2014-12-31
阅读 4 分钟
6.3k
JS 框架看上去就像死亡和纳税,必然发生,无法避免。如果我能变成一只苍蝇趴在墙上,我就能确定每次启动一个新项目的时候,他们讨论的第一个问题肯定是:我们要用哪个 JS 框架?这种场景反映了当今 JS 框架的角色在行业里是多么根深蒂固不可动摇。但其实这种形势并非是必需的,而且实际上,这种做法需要制止。

The Abstract Equality Comparison Algorithm

2014-12-19
阅读 3 分钟
2.5k
The comparison x == y, where x and y are values, produces true or false. Such a comparison is performed as follows:

筆記:V8 的 Javascript 對象表示

2014-12-15
阅读 2 分钟
2.7k
內容爲該問題下的答案:[链接] 是對 [链接] 的學習筆記。 對象的兩層實現 兩層實現分別爲: Named properties: in-object properties and extra properties Numbered properties: fast elements Named properties in-object properties 使用公共 map 來描述其結構,某些情況(難以共用 map)會降級爲 Dictionary mode。 ...

定製 segmentfault

2014-12-12
阅读 2 分钟
2.1k
自定義 CSS + 自定義腳本。 簡潔大方的白色導航欄 + 自動在中英文混排加入空格。 英文使用 open sans,中文信黑體。 額外的好處是,以後修改別人答案時,腳本也會自動修正排版,免去了一個個修改之勞。 userscript 核心代碼如下 {代码...}

一個簡易正則引擎

2014-11-15
阅读 1 分钟
1.9k
克萊尼代數中的三種運算:選擇、順序、重複,分別對應 Object 的 key,子 Object,引用到父 Object 的子 Object。

一個簡易網頁版 Javascript 編輯器

2014-11-07
阅读 1 分钟
3.5k
一共只有 200 行代碼,無任何依賴。 包括了代碼編輯器最基本的功能:代碼高亮和智能縮進。 源代碼見編輯器默認文檔(或右鍵查看頁面源代碼): [链接] 項目地址: [链接] 其中代碼高亮部分只有一行代碼,寫於兩年前,其餘代碼乃爲方便展示而寫(大部分從以前寫的其它代碼中複製粘貼而來)。 下一步計劃:支持編輯區的局...

Why is ++[[]][+[]]+[+[]] = “10”?

2014-09-17
阅读 4 分钟
2.1k
In JavaScript, it is true that +[] === 0. + converts something into a number, and in this case it will come down to +"" or 0 (see specification details below).