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文内右辺はリテラルしか使っちゃだめか。