2012-01-05 27 views

回答

44

它總是如此,但它需要2個字節下載(!0是2個字符)而不是4個字節來下載布爾值true

大多數Javascript minifiers會將true轉換爲!0,並將其轉換爲!1。您可以通過在Google Closure Compiler上輸入var y = true;並進行簡單優化來看到一個示例:http://closure-compiler.appspot.com/home

+1

但是,它只需要1個字節即可下載1. return 1;本來會工作的,不是嗎?非零,我們都知道你不測試爲真,你測試不是錯誤的。 – stu 2012-01-05 21:34:28

+0

這很有趣。大多數JavaScript實現優化!0和!1爲true和false而不計算? – Kekoa 2012-01-05 21:41:34

+5

@stu'return 1;'返回'number'類型。如果有人使用'==='或'!=='運算符的返回值,他們會從'!0'得到預期的結果,但不會從'1'得到預期的結果。 – Paulpro 2012-06-22 16:58:20

相關問題