1。条件付きブランチステートメント:if
基本形式:
if(<expression 1>){
<文章1>>
} else if(<expression 2>){
<文章2>
}それ以外{
<文章3>
}
実行プロセス:
2。循環声明
2.1テスト前ループステートメント:ループ本体のコードが実行される前に出口条件を評価します。
2.1.1ステートメント中
基本形式:
する {
<文章>
} while(<expression>)
実行プロセス:
声明の2.1.2
基本形式:
for(<初期式>; <条件式>; <変動式>){
<文章>
}
実行プロセス:
2.2テストループステートメント:出口条件は、ループ本体のコードが実行された後にのみテストされます。
2.2.1。声明をします
基本形式:
する {
<文章>
} while(<expression>);
実行プロセス:
3。正確な反復ステートメント:for-in
基本形式:
for(オブジェクトのプロパティ){
<文章>
}
関数:指定されたオブジェクトのすべてのプロパティを繰り返します。これは、オブジェクトのプロパティを列挙するために使用できます。
例:
コードコピーは次のとおりです。
<html>
<body>
<p>下のボタンをクリックして、オブジェクト「人」のプロパティをループします。 </p>
<button onclick = "myfunction()">ここをクリック</button>
<p id = "demo"> </p>
<スクリプト>
機能myfunction()
{
var x;
var txt = "";
var person = {fname: "bill"、lname: "gates"、age:56};
(直接x)
{
txt = txt + person [x];
}
document.getElementById( "demo")。innerhtml = txt;
}
</script>
</body>
</html>
表現するオブジェクトがヌルまたは未定義の場合、ループ本体が実行されなくなるか、エラーがスローされます。したがって、for-inループを実行するときは、最初に変更されたオブジェクトのプロパティ値がnullまたは未定義であるかどうかを確認する必要があります。
4。レーブルステートメント
基本的な構文:
ラベル:<文章>
例:begin:for(var i = 0; i <10; i ++){
アラート(i);
}
ラーブルステートメントの機能を説明する例を示します。
プラグを外し:
コードコピーは次のとおりです。
var num = 0;
for(var i = 0; i <10; i ++){
for(var j = 0; j <10; j ++){
if(i == 5 && j == 5){
壊す;
}
num ++;
}
}
アラート(num); // 95
Lableに参加:
コードコピーは次のとおりです。
var num = 0;
出口:
for(var i = 0; i <10; i ++){
for(var j = 0; j <10; j ++){
if(i == 5 && j == 5){
壊れます。
}
num ++;
}
}
アラート(num); // 55
最初の例出力95を理解するのは難しくありません。 2番目の例で出力55の理由は、ブレークアウトポイントを実行すると、プットポイントレイヤーにジャンプしてアラートステートメントを実行するためです。
2番目の例を以下に変更する場合:
コードコピーは次のとおりです。
var num = 0;
for(var i = 0; i <10; i ++){
出口:
for(var j = 0; j <10; j ++){
if(i == 5 && j == 5){
壊れます。
}
num ++;
}
};
アラート(num); // 95
この結果は、最初の例の結果と一致しています。
5。声明を破って続行します
5.1ブレイクステートメント:
コードコピーは次のとおりです。
var num = 0;
for(var i = 1; i <10; i ++){
if(i%5 == 0){
壊す;
}
num ++;
};
アラート(num); // 4
ブレークステートメントが実行されたら、アラートステートメントにジャンプします
5.2続行ステートメント:
コードコピーは次のとおりです。
var num = 0;
for(var i = 1; i <10; i ++){
if(i%5 == 0){
続く;
}
num ++;
};
アラート(num); // 8
継続ステートメントが実行された後、for()ループにジャンプし、ループ条件が真でないまでループを実行し続けます。
6。声明付き
基本的な構文:
(object){
ステートメント
}
例を挙げてください:
使用せずに書く:
コードコピーは次のとおりです。
var qs = location.search.substring(1);
var hostname = location.hostname;
var url = location.href;
アラート(QS);
Alert(hostname);
アラート(url);
ライティング方法で使用:
コードコピーは次のとおりです。
with(場所){
var qs = search.substring(1);
var hostname = hostname;
var url = href;
}
アラート(QS);
Alert(hostname);
アラート(url);
上記の例から、ステートメントの目的は、コードの範囲を特定のオブジェクトに設定し、繰り返し入力を減らすことであることがわかります。
ただし、JSインタープリターは、withブロック内の変数がwithブロックに含まれるオブジェクトに属しているかどうかを確認する必要があります。
したがって、大規模なステートメントで使用することはお勧めしません。
SWEステートメント
基本的な構文:
switch(<expression>){
ケース<値1>:<ステートメントグループ1>
壊す;
ケース<値2>:<ステートメントグループ2>
壊す;
...
デフォルト<ステートメントグループ>
}
実行プロセス:
スイッチステートメントは任意のデータ型である可能性があり、各ケースの値は定数ではない場合がありますが、たとえば、可変、式などでもある場合があります。
コードコピーは次のとおりです。
switch( "hello world"){
ケース「こんにちは」 +「ワールド」:
アラート( "挨拶が見つかりました。");
壊す;
ケース「さようなら」:
アラート( "閉鎖が見つかりました。");
壊す;
デフォルト:
alert( "予期しないメッセージが見つかりました。");
}
コードコピーは次のとおりです。
var num = 25;
switch(true){
ケース番号<0:
アラート( "0歳未満。");
壊す;
case num> = 0 && num <= 10:
アラート( "0から10の間。");
壊す;
ケースnum> 10 && num <= 20:
アラート( "10から20の間。");
壊す;
デフォルト:
アラート( "20を超える。");
}
Switchステートメントは、比較時に合同演算子の比較を使用するため、タイプ変換は発生しません。
練習する:
コードコピーは次のとおりです。
<script type = "text/javascript">
var count = 10;
for(var i = 0; i <count; i ++){
アラート(i);
}
アラート(i); //出力は何ですか?
</script>
のために(;;){
alert( "2"); // 2出力は何回ですか?
}
上記はこの記事の全体的な内容であり、友達に役立つことを願っています。