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 browser, because it is JavaScript and it is more performant, because it is a highly-optimized subset of JavaScript.
Asm.js is usually less performant than WebAssembly.
Asm.js is superseded by WebAssembly.
External links
https://en.wikipedia.org/wiki/Asm.js