ECMAScript with文

ラベル付きの文

with 文は特定のオブジェクトに対してコードの作用域を設定するために使用されます。

その構文:

with (expression) statement

例えば:

var sMessage = "hello";
with(sMessage) {
  alert(toUpperCase());	//「HELLO」を出力
}

この例では、with 文が文字列に使用されているため、toUpperCase() メソッドを呼び出す際に、インタプリタがそのメソッドがローカル関数であるかを確認します。もし、それがそうでない場合は、そのオブジェクトのメソッドであるかを確認します。その後、alert は「HELLO」と出力します。なぜなら、インタプリタが「hello」のtoUpperCase() メソッドを見つけたからです。

ヒント:with 文は動作が遅いコードブロックであり、特に属性値が設定されている場合がその通りです。多くの場合、可能であれば、それを避けるのが最善です。