Asm.js is a strict subset of JavaScript, that C/C++ code can be compiled to.
An asm.js compiled C/C++ code can run in any web browser, because it is JavaScript.
Asm.js is strongly typed, because, it uses technices, like explicit conversion of value to number using bit operations
Performance
Asm.js is more performant, than JavaScript, because it is a highly-optimized subset of JavaScript.
Asm.js is usually less performant than WebAssembly.
What after asm.js?
Asm.js is superseded by WebAssembly.
External links
https://en.wikipedia.org/wiki/Asm.js