JavaScript1.5のラベル文

http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:Loop_Statements:label_Statement
JavaScriptではソース中にラベルを記述しておくことで、breakやcontinueでの脱出時に、脱出範囲を指定できるようだ。知らなかった。
こんな風に使える

function label_test() {
   var i = 0;
   outer:   // ラベルその1
   for (var j = 0;j<10;j++){
     inner: // ラベルその2
     for (var k = 0;k<10;k++){
       i++;
       while(1) {
         break; // break outer; break inner:
       }
     }
   }
   alert(i);
}

10回ずつ回る二重の中でカウンタiをインクリメントして、最後にiの値をalertするコード。何もしないwhileの中でbreakしているだけなので、普通はbreakでwhile文から脱出するだけ。iは100になる。
ところが、"outer:"や"inner:"というふうにラベルを記述しておくと、breakをbreak outerもしくはbreak innerとラベルを指定することで、そのラベルのついた文から脱出することができる。
例えば、break outerと書くと、外側のforループからも脱出するのでiは一回しかインクリメントされず1が表示される。break innerでは内側のforループから脱出するので、10が表示される。

ちなみに、Firefox1.5で動作確認しました。Firefox1.5だとJavaScriptもバージョン1.5なんだな。Firefox1.5にのっかっているのは、JavaScriptバージョン1.6のようです。コメントありがとうございます。

追記:JavaScirptの仕様って規定されてるの?

ところで、(ECMAScriptでなくて)JavaScriptの仕様って誰が決めてるんだろ。Mozilla?
operaとかにのっかっているJavaScriptMozilla(か誰か)の決めた仕様に従っているんだろうか?仕様からして違うんだろうか?それとも、処理系自体も使いまわしてるんだろうか?