Re: for 〜 next ループ (Re: TEXTAREA と 外部jsファイル
"Satoshi Nakajima" <nakajima@chem.gunma-ct.ac.jp> wrote in message
news:bs5nov$lnq$1@x1wa.gunma-ct.ac.jp...
> (少なくとも ie6.0/win98 の僕の環境では)増減式のところに、
> 関数を用いても大丈夫なようです。
>
ECMA 262 の規格に準拠しているなら,関数でもよいというのは不思議でもないと思
います。
ただ,次のようなものも一応動くようですが,これが正常な動作と言い切れるような
var i のスコープについて明確に記載されたものはあるのでしょうか。(ちょっと調
べたけど見つけれませんでした。)
var x = new Array('0','1','2','3','4','5','6','7','8','9');
document.write('---not recommend---' + '<BR>');
for(var i = 2; i < x.length; i++){
if (i == 5) i = 7;
document.write(x[i] + '<BR>');
}
document.write('-----i = incre()------' + '<BR>');
for(var i = 2; i < x.length; i = incre()){
document.write(x[i] + '<BR>');
}
document.write('------incre()-------' + '<BR>');
for(var i = 2; i < x.length; incre()){
document.write(x[i] + '<BR>');
}
document.write('------incre1()-------' + '<BR>');
for(var i = 2; i < x.length; incre1()){
document.write(x[i] + '<BR>');
}
function incre(){
do
i++;
while (!(i < 5 || i >= 7))
return i;
}
function incre1(){ // return文なし
do
i++;
while (!(i < 5 || i >= 7))
}
あっ,一番上のはvar i のスコープとはなんの関係もありません。ただ直接変数var
i をいじっても動くには動くというだけです。(もちろん,余程の時でないとやりま
せんが)
それから,当然ですが
for(var i = 2; i < x.length; incre(i))
としたのでは,永久にiが変化しないので動きませんが。
--
******************************
keizi kounoike
******************************
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735