Heim  >  Artikel  >  Web-Frontend  >  Welche Anweisungsstrukturen hat Javascript?

Welche Anweisungsstrukturen hat Javascript?

青灯夜游
青灯夜游Original
2021-11-04 16:06:442464Durchsuche

Javascript hat drei Anweisungsstrukturen: 1. Sequentielle Struktur von oben nach unten, zeilenweise Ausführung; 2. Wählen Sie eine Verzweigungsstruktur aus, führen Sie nur einen davon aus oder führen Sie selektiv mehrere Pfade entsprechend unterschiedlichen Bedingungen aus. 3. Schleifenstruktur; bestimmte Codes wiederholt ausführen.

Welche Anweisungsstrukturen hat Javascript?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer. Drei Hauptstrukturen der JavaScript-Sprache Zweigstruktur

Mehrere Elemente Pfad, entsprechend unterschiedlichen Bedingungen nur eines davon oder selektiv mehrere ausführen
  • Schleifenstruktur

    Führen Sie bestimmte Codes wiederholt aus, um bestimmte sich wiederholende Vorgänge zu ersetzen, Coderedundanz zu reduzieren und die Effizienz zu verbessern
  • Verzweigungsstruktur auswählen

    1. Wählen Sie einen von zwei Pfaden, tun Sie es oder nicht, führen Sie es aus oder führen Sie es nicht aus

  • (1) wenn Urteilsaussage

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

    2. Doppelte Zweigstruktur

  • Es gibt zwei Optionen, die beide eine

(1) if-else-Urteilsaussage

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

(2) Sonderfälle im if ausführen müssen Bedingung

1) Konventionelle Situation

Normalerweise wird eine Beurteilungsaussage in die Klammern von if eingefügt, um zu beurteilen, ob sie wahr oder falsch ist. Die Dinge in den Klammern if() werden normalerweise als logische Punkte und Beurteilungspunkte bezeichnet. Wenn der Inhalt in den Klammern wahr ist, ist er wahr, und wenn er falsch ist, ist er wahr oder falsch. Er ist ein boolescher Wert (boolean), der wahr und falsch darstellt. Er muss durch logische Operatoren ermittelt werden 2) Sonderfälle

Schauen wir uns ein erstes Beispiel an

if(1){ //括号内填写数字"1"会发生什么
    console.log("会输出么?"); //会输出吗?---会在控制台输出内容
}

Die Zahl 1 ist ein numerischer Wert, kein boolescher Wert, geschweige denn wahr. Warum wird die Aussage in den geschweiften Klammern ausgeführt?

In einigen bestimmten Fällen führt der Computer einige implizite Konvertierungen durch. Dies erfordert keine Maßnahmen und konvertiert den Datentyp automatisch Die Konvertierung erfolgt für die Anweisungen in
//if隐式转换例题
var a = "1",b = 2;    
console.log(a + b);//12---+号进行字符串拼接,拼成12,而不是进行数值运算等于3
Das „+“-Zeichen hat zwei Bedeutungen:

Auf beiden Seiten des „+“-Zeichens stehen Zahlen: Dies ist der „+“-Zeichenoperator in der Mathematik, der zwei addiert Zahlen und numerische Operationen ausführen

Ein oder mehrere Zeichen erscheinen auf beiden Seiten des „+“-Zeichens: Dies ist das Zusammenfügen von Zeichenfolgen

und das Zusammenfügen von Zeichenfolgen hat Vorrang, also nur die linke und rechte Seite von Das +-Zeichen wird erkannt. Wenn eine Zeichenfolge vorhanden ist, werden die Daten auf der anderen Seite, die keine Zeichenfolge sind, automatisch in eine Zeichenfolge konvertiert, und dann wird der String-Splicing-Vorgang ausgeführt (String-Splicing besteht darin, den Inhalt auf beiden Seiten zu verbinden). das „+“-Zeichen vollständig ohne jegliche Änderung)Hinweis: Mit Ausnahme des +-Zeichens, das zwei Bedeutungen hat, hat das „-*/%“-Zeichen nur eine mathematische Bedeutung, wenn also „-*/%“ verwendet wird , die Datentypen auf beiden Seiten des Operators werden standardmäßig implizit in einen numerischen Typ konvertiert und führen dann Operationen aus

Was ist also, wenn Sie Additionsoperationen ausführen möchten, aber nicht implizit durch den „ +"-Zeichen.

Methode:

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

3) Implizite Typkonvertierung in if

If() erfordert nur boolesche Werte, dann werden in der if-Beurteilung alle Datentypen in den Klammern implizit in boolesche Typen konvertiert, jeder Typ wird dies tun schließlich in einen booleschen Typ umgewandelt werden
  •           Zahlen: Nicht-0 ist wahr, 0 ist falsch
  •                                                                    's  ‐ ‐ ‐ ‐ ​ ​ ​ ​ ​ ​​ ​ ​Objekt: zu jeder Zeit ist wahr

                                                          ’ NaN: ist falsch

In Undefiniert: Für

Null: Für false
isnan ():

Bestimmen Sie, ob NAN indirekt kann Bestimmen Sie, ob es sich um eine Zahl handelt

  • 3. Mehrzweigstruktur

  • Es gibt mindestens zwei oder mehr, je nach Bedingungen werden eine oder mehrere Anweisungen ausgeführt
  • (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高级教程

Das obige ist der detaillierte Inhalt vonWelche Anweisungsstrukturen hat Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Ist JavaScript eine Sprache?Nächster Artikel:Ist JavaScript eine Sprache?