ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptにはどのような文構造があるのでしょうか?

JavaScriptにはどのような文構造があるのでしょうか?

青灯夜游
青灯夜游オリジナル
2021-11-04 16:06:442489ブラウズ

Javascript には 3 つのステートメント構造があります: 1. シーケンシャル構造; トップダウンで行ごとに実行。 2. 分岐構造を選択します。複数のパスがあり、さまざまな条件に応じてそのうちの 1 つだけを実行するか、複数のパスを選択的に実行します。 3. ループ構造; 特定のコードを繰り返し実行します。

JavaScriptにはどのような文構造があるのでしょうか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript 言語の 3 つの主要な構造

  • シーケンシャル構造

    最初にトップダウンで 1 行ずつ実行先着順、同じステートメント、次のステートメントは前のステートメントを上書きします

  • 分岐構造の選択

    さまざまな条件に応じて複数のパス、1 つだけそのうちの 1 つが実行されるか、選択的に実行されます。 複数の

  • ループ構造

    特定のコードを繰り返し実行して、特定の繰り返し操作を置き換え、コードの冗長性を削減し、改善します。効率

分岐構造の選択

1. 単一分岐構造

2 つのパスのうち 1 つを選択します (実行するかどうか)。 do it、Yes or no、実行するか実行しない;

# (1) if 判定文 #
//语法结构:
if(){}
    if	//语句名
    ()	//是否执行的条件,true 或 false
    {}	//执行的内容
//例:
if(true){
   console.log("hello");//"hello"---if括号中是true则输出hello,若为false则不输出
}

2. 二重分岐構造

オプションは 2 つあり、どちらも 1 つを実行する必要があります

(1) if-else 判定ステートメント
//当条件判断为true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句执行else里的内容
if(条件){        
    执行语句1,条件为真时执行   
}else{        
	执行语句2,条件为假时执行    
}

(2) 特殊な状況if 条件の

1) 通常の状況
通常、if の括弧内に判定文を入れて真か偽かを判定します。 if() 括弧は通常ロジックと呼ばれます。ポイント、判断ポイント 括弧内の内容が true の場合は true、false の場合は false。true または false は、true と false を表すブール値 (boolean) であり、論理演算子

# を使用して取得する必要があります。

#2) 特別な状況
最初に例を見てみましょう
if(1){ //括号内填写数字"1"会发生什么
    console.log("会输出么?"); //会输出吗?---会在控制台输出内容
}

数値 1 は数値であり、ブール値ではなく、ましてや true ではありません。中括弧内のステートメントが実行されるのはなぜですか?

特定の状況では、コンピューターは暗黙的な変換を実行します。これは、強制的な型変換とは異なります。何もする必要はなく、自動的にデータ型が変換されます。演算を実行すると、if (括弧) 内のステートメントに対して暗黙的な型変換が発生します。

//if隐式转换例题
var a = "1",b = 2;    
console.log(a + b);//12---+号进行字符串拼接,拼成12,而不是进行数值运算等于3

" "記号には 2 つの意味があります:

" "記号は両側にあります数値: これは数学における " " 記号演算子です。2 つの数値を加算し、数値演算

  • " " " を実行します。記号の両側に 1 つ以上の文字が表示されます: これは、文字列の結合

  • #と文字列の結合が優先されるため、数値の左右に文字列があることが検出された場合、文字列ではない反対側のデータが削除されます。 string は自動的に String に変換され、文字列の結合操作が実行されます (文字列の結合とは、「 」記号の両側の内容を変更せずに完全に結合することです)

  • 注: 記号に加えて、 " -*/%" 記号は数学的な意味のみを持ちます。そのため、"-*/%" を実行すると、演算子の両側のデータ型は、演算を実行する前にデフォルトで暗黙的に数値型に変換されます。

では、加算演算時に暗黙的に「 」記号による文字変換を行いたくない場合はどうすればよいでしょうか。

メソッド:

var a = "1",b = 2;    
console.log(a + b);//12---默认进行字符串拼接输出字符串"12"
console.log((a-0) + b );//3---先通-0操作将字符转换为数字,再进行相加,输出数值3

3) if

if() での暗黙的な型変換にはブール値のみが必要です。その後、if で判定により、括弧内のすべてのデータ型は暗黙的にブール型に変換されます。任意の型は最終的にブール型に変換されます。

# 数値: 0 以外は true、0 は false

  • # アウトアウトアウトアウトアウトアウトスルーアウトスルーアウトアウトスルーアウトアウトスルーアウトアウトスルーアウトアウトアウトスルーアウトアウトスルーアウトアウトスルーアウトアウトアウトスルーアウトアウトスルーアウトスルーオフ‐‐ ‐ ‐ 、false

  • 配列: いつでも真、配列はオブジェクトの型でもあります
  • 系列: いつでも真、関数は特別なオブジェクトでもあります
  • NAN: 偽
  • ## 未定義: 偽
  • NULL: 偽
  • isNaN():
  • NaN かどうかを判断すると、それが数値であるかどうかを間接的に判断できます。true が返された場合、それは NaN であり、数値ではありません。 false を返します、それは数値です

3. マルチブランチ構造

少なくとも 2 つ以上があり、1 つ以上のステートメントは次のとおりです。条件に従って実行されます

(1)多个if(){}else{}嵌套使用

if(true){
    console.log("hello");
}else{
    if(true){
        console.log("hello");
    }else{
        console.log("world");
    }
}
或者
if(true){
    console.log("hello1");
}else if(true){
    console.log("hello2");
}else if(true){
    console.log("hello3");
}else if(true){
    console.log("hello4");
}

(2)使用switch(){}语句

系统提供的语句

switch(){}

  • switch语句名

  • ()要判断的值

  • {}执行语句,所有的分支路径都放在一个花括号内

  • case匹配()内的值则执行,不匹配则往下找,找到执行,都没找到输出default的内容

案例:输入数字,判断后输出星期几

switch(n){
    case 1:console.log("星期一");break;
    case 2:console.log("星期二");break;
    case 3:console.log("星期三");break;
    case 4:console.log("星期四");break;
    case 5:console.log("星期五");break;
    case 6:console.log("星期六");break;
    case 7:console.log("星期七");break;
    default:console.log("请输入1-7之间的数字");
}

(3)switch的注意事项

case的穿透特性:

        在一个switch中,只会进行一次case判断,如果判断成功,后面的case则不会判断全部执行
阻止case穿透
使用关键字break;可以跳出当前循环,后面的都不执行

switch和if-else的区别

  •                 switch只能判断具体的值,不能判断范围,不会进行隐式转换

  •                 if else可以判断范围

循环结构

1.while循环

while(){}
    while	//语句名
    ()		//执行条件、判断调价
    {}		//执行语句循环体
//例:
var i = 0;
while(i<10){//当括号内的条件为真时,会一直执行
    console.log(i);//输出0-9,十个数字
    i++;//改变计数器
}
//表示重复执行10次
//注意:为避免死循环,一定要在循环体内 改变 条件中使用变量的值-改变计数器。
//通常while被用在不确定执行次数的循环中,循环体内设置if判断,满足条件使用break结束循环,否则一直循环

2.do-while循环

do{}while(){}
    do		语句名
    {}		do的执行语句
    while	语句名2
    ()		执行条件
    {}		while的执行语句
    
do{
    console.log("do的执行语句");
    i++;//改变计数器
}while(i<10){
    console.log("while的执行语句");
}
//条件为true时,会执行do后面的语句
//条件为false时,会执行一次while后面的语句
//注意:do-while的改变计数器要鞋子啊do语句中,否则会造成死循环
do-while和while的区别
    do-while任何情况下都比while多执行一次(do-while无论真假都会执行一次while里的语句)
    do-while相对于while结构紧密些

3.for循环

for(){}
    for		语句名
    ()		条件组
    {}		循环体
for(var i = 0; i < 10; i++){
    console.log(i);//打印0-9。共十个数字
}

for循环括号内的内容
var i=0;	//定义循环开始时计数器的初始值
i<10;		//设置停止循环的条件,满足条件执行循环,不满足条件结束循环
i++		//计数器加一(这条语句是在循环体内容结束后才执行)
//注意:上面的三个内容必须用分号“;”隔开,否则报错

for循环是最长使用的循环,还可进行for循环嵌套
for(var i=0;i<10;i++){
    for(var j=0;j<10;j++){
        console.log(i+j);
    } 
}

4.死循环

无法靠自身控制结束的循环,称为死循环
不知道要循环几次的问题,利用死循环的原理,每次判断一个条件,直到满足条件,利用break跳出循环
通常使用while来进行死循环

5.continue关键字break关键字

continue和break都是用来控制循环结构的,主要是用来停止循环。   
控制关键字:控制循环的执行或停止
    break:结束循环语句,直接跳出当前循环语句,后面所有的下一次循环都不执行。
    continue:表示跳过当前所在的本次循环(continue下面的语句不执行跳过),下一次循环还会正常执行

【推荐学习:javascript高级教程

以上がJavaScriptにはどのような文構造があるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。