I believed so until recently, when I started to read about about action script (the stuff behind flash).
Action script is very close to javascript, close enough that it ought to be possible to write a crosscompiler so that you can give standards compliant HTML5 to chrome, safari and the mobile browsers and flash to IE and only editions of firefox y (since firefox stupidly does not include Chromes automatic update system).
ActionScript is almost exactly the proposal that Mozilla and Adobe put forward as ECMAScript 4, which was boo'd and veto'd by Microsoft and Yahoo. Hence we now have ECMAScript 5, née "Harmony", née "3.1", which is minimum-viable-upgrade to the current ECMAScript 3 without all the useful things that ActionScript added.
While ActionScript is similar to ECMAScript, the standard libraries they work with are very different, and most of the trouble of writing a Flash -> Canvas cross-compiler would be in trying to write an ECMAScript layer that could do what the Flash runtime does in C, with the efficiency of C.
Also consider haXe: http://haxe.org/
It's an actionscript-inspired unified language which can be compiled into JS, Flash, PHP, C++ or interpreted on (yet another, sic) VM as an apache mod.