with文ではまる
function getWidth(text, size) { var div = ...; with(div.style) { left = "0px"; top = "3px"; fontSize = size; } return ...; }
などと横着していたらどうしてもフォントサイズだけ意図した値にならない。
withブロックの外で改めて
div.style.fontSize = size;
としたら効く。……という初歩的な罠で2,30分悩んでしまった。
styleにsizeがあるからアウト。with文のスコープには気をつけようというか、このタイプの手抜きをしたいならwith文内右辺はリテラルしか使っちゃだめか。