7.Javascriptの制御構造
制御構造とは、プログラムを分岐させたり繰り返し(ループ)させたりさせるための構造をいいます。
1)分岐構造(if)
条件に従ってプログラムを分岐させる構造です。
<書式1>
if(条件式){
条件式が真(True)のときに実行されるプログラム
}
<書式2>
if(条件式){
条件式が真(True)のときに実行されるプログラム
}
else{
条件式が偽(False)のときに実行されるプログラム
}
<書式3>
if(条件式1){
条件式1が真(True)のときに実行されるプログラム
}
else if(条件式2){
条件式1が偽(False)で条件式2が真(True)のときに実行されるプログラム
}
|
|
else{
すべての条件式が偽(False)の場合に実行されるプログラム
}
<サンプル1>(ファイル名:js7-1-1.html)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>分岐構造(if)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a=1;
if(a==1){ window.document.write("変数aの値は、"+a+"です。"); }
// -->
</script> </body>
</html>
<サンプル2>(ファイル名:js7-1-2.html)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>分岐構造(if)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a=1;
if(a==1){ window.document.write("変数aの値は、1です。"); } else{ window.document.write("変数aの値は、1ではありません。");
}
// -->
</script> </body>
</html>
<サンプル3>(ファイル名:js7-1-3.html)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>分岐構造(if)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a=1;
if(a>0){ window.document.write("変数aの値は、正数です。"); } else if(a<0){ window.document.write("変数aの値は、負数です。");
} else{ window.document.write(変数aの値は、0です。);
}
// -->
</script> </body>
</html>
<サンプル4>(ファイル名:js7-1-4.html)
<!doctype html>2) 分岐構造(switch)
<html>
<head>
<meta charset="utf-8">
<title>分岐構造(if)</title>
</head>
<body>
<script type="text/javascript">
<!-- var today = new Date();
var hours = today.getHours();
if((hours >= 6) && (hours < 12)){
window.document.write("おはようございます。");
}
else if((hours >= 12) && (hours <= 17)){
window.document.write("こんにちは");
}
else{
window.document.write("こんばんは");
}
window.document.write("ただいま" + hours + "時ごろです。");
// -->
</script> </body>
</html>
<!doctype html>3) 繰り返し構造(while)
<html>
<head>
<meta charset="utf-8"> <title>分岐構造(switch)</title>
</head>
<body>
<script type="text/javascript">
<!-- var a=3;
switch(a){ case 1: window.document.write("変数aの値は、1です。"); break; case 2: window.document.write("変数aの値は、2です。"); break; case 3: window.document.write("変数aの値は、3です。"); break;
default:
window.document.write("変数aの値は、1,2,3以外です。"); break; //-->
</script>
</body>
</html>
<!doctype html>この繰り返しは、繰り返しに入る前に変数aの値が「11」になっていれば、1回も繰り返ししないことに注意してください。
<html>
<head>
<meta charset="utf-8">
<title>繰り返し構造(while)</title>
</head>
<body>
<script type="text/javascript">
<!-- var a=1,b=0;
while(a<=10){
b=b+a;
window.document.write("a=",a," b=",b,"<br>\n");
a++;
}
window.document.write("合計は、",b,"です。");
//-->
</script>
</body>
</html>
<!doctype html>この繰り返しは、繰り返しに入る前に変数aの値が「11」になっていても、1回だけ繰り返すことに注意してください。
<html>
<head>
<meta charset="utf-8">
<title>繰り返し構造(do)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a=1,b=0;
do{
b=b+a;
window.document.write("a=",a," b=",b,"<br>\n");
a++;
}while(a<=10);
window.document.write("合計は、",b,"です。");
//-->
</script>
</body>
</html>
<!doctype html>カウンタをforの中に書くだけで処理は、whileとほぼ同じです。whileのほうが複雑な繰り返しが作れます。
<html>
<head>
<meta charset="utf-8">
<title>繰り返し構造(for)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a,b=0;
for(a=1;a<=10;a++){
b=b+a;
window.document.write("a=",a," b=",b,"<br>\n");
}
window.document.write("合計は、",b,"です。");
//-->
</script>
</body>
</html>
<!doctype html><サンプル:doの場合>(ファイル名:js7-6-2.html)
<html>
<head>
<meta charset="utf-8">
<title>繰り返しから抜ける(while)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a=1,b=0;
while(a<=10){
b=b+a;
if(a==5){
break;
}
window.document.write("a=",a," b=",b,"<br>\n");
a++;
}
window.document.write("合計は、",b,"です。");
//-->
</script>
</body>
</html>
<!doctype html><サンプル:forの場合>(ファイル名:js7-6-3.html)
<html>
<head>
<meta charset="utf-8">
<title>繰り返しから抜ける(do)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a=1,b=0;
do{
b=b+a;
if(a==5){
break;
}
window.document.write("a=",a," b=",b,"<br>\n");
a++;
}while(a<=10);
window.document.write("合計は、",b,"です。");
//-->
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>繰り返しから抜ける(for)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a,b=0;
for(a=1;a<=10;a++){
b=b+a;
if(a==5){
break;
}
window.document.write("a=",a," b=",b,"<br>\n");
}
window.document.write("合計は、",b,"です。");
//-->
</script>
</body>
</html>
<!doctype html><サンプル:whileの場合>(ファイル名:js7-2.html)
<html>
<head>
<meta charset="utf-8">
<title>繰り返しを続ける(for)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a,b=0;
for(a=1;a<=10; a++){
if(a==5){
continue;
}
b=b+a;
window.document.write("a=",a," b=",b,"<br>\n");
}
window.document.write("合計は、",b,"です。");
//-->
</script>
</body>
</html>
<!doctype html>8)指定した繰返しを抜け出す方法
<html>
<head>
<meta charset="utf-8">
<title>繰り返しを続ける(while)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a=1,b=0;
while(a<=10){
if(a==5){
a++;
continue;
}
b=b+a;
window.document.write("a=",a," b=",b,"<br>\n");
a++;
}
window.document.write("合計は、",b,"です。");
//-->
</script>
</body>
</html>
<!doctype html>9)指定した繰返しを続ける方法
<html>
<head>
<meta charset="utf-8">
<title>繰り返しを続ける(while)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a,b,c;
loopOut:
for(a=1;a<10;a++){
for(b=1;b<10;b++){
if (a==5){
break loopOut;
} c=a*b;
window.document.write(c," ");
}
window.document.write("<br>\n");
}
//-->
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>繰り返しを続ける(while)</title>
</head>
<body>
<script type="text/javascript">
<!--
var a,b,c;
loopContinue:
for(a=1;a<10;a++){
for(b=1;b<10;b++){
if (a==5){
continue loopContinue;
}
c=a*b;
window.document.write(c," ");
}
window.document.write("<br>\n");
}
//-->
</script>
</body>
</html>