3-javascript流程語句和循環語句

1,流程控制語句
    分支語句
    01) if語句
        if(condition){
            statement1
        }else{
            statement2
        }
        =》condition?s1:s2(三目運算)
        condition表示任意表達式,該表達式求值的結果不一定是布爾類型,如果不是布爾類型,ECMAScript會調用Boolean() 轉換函數將這個表達式結果轉換爲一個布爾類型,如果condition求值結果爲true,執行statement1。如果求值結果爲false,執行statement2

        if(condition){
            statement1
        }
        statement2

        
    02)switch語句
        switch(expression){
            case val:

            break;

            case val2:

            break;
            default:
        }
      可以在switch語句中使用任何數據類型。
      case的值不一定是常量,也可以是變量,甚至是表達式。
    比較方式: ===(全等方式比較)                expression === vall  default

    //console.log(3 == "3") ->true
        //console.log(3 === "3") ->flase

2. 循環語句    
    01)for語句
        for循環是一種前測試循環語句,但它具有在執行循環之前初始化變量和定義循環後要執行的代碼的能力。以下是for循環的語法:
        初始化表達式,控制表達式,循環後表達式
        for(initialization;expression;post-loop-expression){
            //loop option
        }
        例如:
        var sum = 0;
        for(var i=0;i<10;i++){
            sum +=i;
        }
        console.log(i); //10  

        ECMAScript不存在塊級作用域,在循環內部定義的變量也可以在外部訪問到
    
        死循環
        for(;;){
            //當for中的表達式省略的時候,會創建一個死循環
        }
        while(true){
        
        }
    02) do-while語句  
        do{
        
        }while(condition);
        後測試循環語句,即只有在循環體中的代碼執行之後,纔會測試出口條件。循環體內的代碼最少被執行一次。

    03)    while語句    
        while(condition){
        
        }
        前測試循環語句,即在循環體內的代碼被執行之前,就會對出口條件求值。因此,循環體內的代碼有可能永遠不會被執行。
        while(false){
            //
        }
    04) for-in 語句
        是一種精準的迭代語句,可以用來枚舉對象的屬性
        for(property in expression){
            statement
        }
        例如:
        打印出window對象中所有的屬性
            for(var propName in window){
                console.log(propName);
            }

    例如:var person = {
            name:"terry",
            age:12,
            gender:"男"
        }
        for( var key in person){
            var val = person[key];
            console.log(key+'-'+val);
            //console.log(key);
            //key只能拿到屬性名 遍歷到person對象的屬性名

        }
        /*
        //============獲取
        var arr = [1,2,3,42,12];
        for( var key in arr){
            var val= arr[key];
            console.log(key+'-'+);
        }
        */
    label 語句
        使用label可以在代碼中添加標籤,以便將來使用
        label : for(int i=0;i<10;i++){
            if(i == 5){
                break label;
            }
        }
    循環關鍵字
       break 跳出循環體
       continue 結束本次循環,進行下一次循環

3. 特殊語句
    with語句
    主要作用是將代碼的作用域設置在一個特定的對象中,定義with語句的主要目的是爲了簡化多次訪問同一個對象的工作,但是大量使用with語句會導致性能下降,並且難以維護,所以不建議使用。
        例如:
        var person = {
            name:'terry',
            age:12,
            gender:'男'
        }
        要想訪問person對象中的屬性需要:
            console.log(person.name);
            console.log(person.age);
            console.log(person.gender);
        但是還可以通過with語句來實現
            with(person){
                console.log(name);
                console.log(age);
                console.log(gender);
            }
4. 函數(第一部分)
    函數實際上是對象,每個函數都是Function類型的實例,具有屬性和方法,函數名實際上是指向函數對象的指針。
    1) 表示方法:
        1.函數聲明
        function sum(a,b){
            return a+b;
        }
        2.函數表達式
        var sum = function(a,b){
                return a+b;
        }
        解析器在向執行環境中加載數據時,會率先讀取函數聲明,並使其在執行任何代碼之前可用;當執行器執行到函數表達式的代碼的時候纔會真正的解釋執行
    2) 函數的參數
        ECMAScript函數的參數與大多數其他語言中的函數的參數有所不同,ECMAScript函數不介意傳遞參數的個數以及參數類型,這是因爲函數的參數在函數內容是使用一個類數組對象來表示的。這個類數組對象就是arguments
    3) 函數的調用
        在JS中,函數沒有重載的概念,兩個函數的函數名相同即是同樣一個函數,但是Java中不是

            函數名(實參列表)

 ******************************************
 C   Java
基礎語法
數據類型
操作符
語句
函數
面向對象
一.分支語句
1. if語句
    if(){

    }


    if(){  

    }else{

  }

    if(){
    }else if(){
    }else{
    }

    var age = 10;
    if(age>18){
        console.log();
    }else{
        console.log():
    }

    三目
        condition?statement1:statement2
            ==>
        if(condition){
            statement1;
        }else{
            statement2;
        }
    
    星期轉換器
        1 ==>星期一
        2 ==>星期二
        .
        .
        7 ==>星期天

        1 壹
        2 貳
        ....

2. switch語句
    1.語法結構
    2.執行原理
    可以在switch語句中使用任何數據類型。
          case的值不一定是常量,也可以是變量,甚至是表達式。
    比較方式: ===(全等方式比較)                expression === vall  default
        condition === 常量

    3.break  每個case語句的結尾都應該有break
        default語句如果位於代碼的最後,結尾不需要break,反之,則需要  【沒有break,代碼繼續執行 直到找到break 跳出,攜帶之前執行到所有的結果】  

    switch(condition){
        case 常量1:
            //statement1;
        break;
        case 常量2:
            //statement2;
        break;
        case 常量3:
            //statement3;
        break;
        ...
        default:
            //statementn;
    }
二. 循環語句
    三要素
        初始化條件 i=0;
        結束條件 i>100;
        迭代條件 i++;

    1. for循環
        for(初始化條件;結束條件;迭代條件){
            //循環體
        }

        1~100   5050


    2. while循環
        初始化條件;
        while(結束條件){

            //循環體

            迭代條件
        }
    3. do-while循環
        
        初始化條件
        do{
            迭代條件
            循環體
        }while(結束條件);  (只有do-while 結束有分號)

    4. 增強for循環
        語法
        主要用於遍歷對象和數組 獲取對象的值和數組的值 但是要經過遍歷
        ----------------
        Java
        int[] arr = {1,2,3,4};
        for(int i : arr){
            System.out.println(i);
        }
        ------------
        JS
        var person = {
            name:"terry",
            age:12,
            gender:"男"
        }
        for( var key in person){
            var val = person[key];
            console.log(key+'-'+val);
            //console.log(key);
            //key只能拿到屬性名 遍歷得到person對象的屬性值

        }
        /*
        //============獲取數組的值
        var arr = [1,2,3,42,12];
        for( var key in arr){
            var val= arr[key];
            console.log(key+'-'+);
        }
        */


. 警告框 提示框
    方法{
        該方法含義
        參數
        返回值
    }

    alert(param);
        警告框
        param警告內容
        沒有返回值
    prompt(param)
        會話框
        param 提問內容
        返回值爲用戶輸入

面向對象
    三大基本特徵
        封裝
            屬性的封裝
            方法(函數)的封裝

            <script>
                var name ="terry";
                var age = 12;
                //對象
                var person1 = {
                    name:"terry",
                    age: 12
                }
                var person2 = {
                    name:"larry",
                    age: 13
                }
                
                打印九九乘法表

            </script>
        繼承

        多態

   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章