Could be common in some spots; I haven't seen much of it in Firefox/Thunderbird or the Gaia stuff I've hacked on.  |0 seems more intuitive to me, but floor/ceil/abs seem even more explicit about the intent.  (Also, they don't truncate to 32-bits, but that's not a problem for us.)  If you're seeing this idiom or |0 happen a lot in JS in general, then that's fine.