While the method described by sws and MarkR is also what I prefer, I would like to present an alternative approach.
A hackish option for creating an isometric look with minimal effort is to actually use orthogonal tiles, and use context.transform to set a projection matrix which makes the map look isometric (or a combination of context.rotate and context.scale when you don't know how projection matrices work).
See the specification for canvas transformation methods for details.
Tile image:

Drawing code:
for (var x = 0; x < 5; x++) {
for (var y = 0; y < 5; y++) {
ctx.drawImage(img, x * img.width, y * img.height);
}
}
Result before matrix application:

Same code with same tile image after applying this transformation matrix:
ctx.transform( 1, 0.5,
-1, 0.5,
160, 0 );

With the dashed grid removed from the tile image and changed the tile offset in the drawing code to img.width - 1
and img.height - 1
to get rid of the gaps caused by the transformation. Suddenly the tile looks half as ugly:

The main drawback of this method is that when you design your tiles in a graphic editor, they won't really be what-you-see-is-what-you-get. You will also encounter problems when you want to draw any objects which are not on the floor but standing upright. For these you can switch off the transformation matrix before drawing them, but then you will have to calculate the position yourself. You can use these formulas for that:
var xScreen = xWorld * 1 + yWorld * -1 + 160;
var yScreen = xWorld * 0.5 + yWorld * 0.5 + 0;
(note how the numbers from the transformation matrix reappear in these formulas - you are doing the matrix multiplication yourself here).
So why should I do this?
This method is good when you:
- aren't experienced with designing isometric tiles, but you have orthogonal ones
- don't want to spend much time on developing an isometric graphic engine, which is somewhat more difficult than an orthogonal one.
Another interesting feature is that when you know your way around matrix calculation, you can modify the projection matrix between frames to zoom, tilt and rotate the map in real-time for some nice fake-3d effects (try to do THAT with isometric tiles).
But when you know how to handle isometric tiles, both artistically and technically, and you don't need any fake-perspective trickery I would rather suggest you to go with diamond-shaped tiles with transparency.