1. 程式人生 > >js中eval,arguments與異常處理的用法-基礎知識總結------彭記(017)

js中eval,arguments與異常處理的用法-基礎知識總結------彭記(017)

報錯 字符串 nts 字符 number 拖動 ron cnblogs 數組

eval的使用:

<script>
    /*eval的作用:
    * 1.將字符串當成js代碼來執行
    * 2.可以將json格式的字符串轉換為js對象*/

    /*eval("var age = 30;");
    console.log(age);
    eval("alert(123)");
    var va = eval("1+1");
    console.log(va);*/

    //({"name":"rose","age":20});

    //{"name":"rose","age":20}
    var jsonStr = ‘{"name":"rose","age":20}‘;
    
/*在系統進行解析的時候,{}首先會被當成代碼塊的標誌來解析,如果不是代碼塊就會當成字面量的標誌來解析*/ var obj = eval("("+jsonStr+")"); console.log(obj); </script>

arguments的使用:

<script>
    function calculate(){
        console.log(arguments);
        console.log(calculate.arguments);
        /*==比較值
        *arguments是偽數組,而偽數組是對象
         *valueOf: 獲取地址值進行比較
*/ console.log(calculate.arguments === arguments); /*計算傳入的數值的值*/ /*arguments:函數內部的成員,在函數內部可以直接使用到這個屬性,它是一個偽數組*/ var sum = 0; for (var i = 0; i < arguments.length; i++) { var num = arguments[i]; sum += num; } return sum; }
var result = window.calculate(1,2,432,53,456,57,6); console.log(result); </script>

異常處理:

 <script>
        function test(callback){
            callback();
        }
        function te(){
            console.log(123);
            te();
        }
        /*計算兩個數的和*/
        function calculate(a,b){
            try{
                if(typeof a != "number" || typeof b != "number"){
                    /*拖動拋出異常*/
                    throw {‘msg‘:‘請輸入數值‘};
                }
                console.log( a + b);
            }
            catch (e){
                console.log(e);
            }
            console.log(‘繼續執行其它操作‘);
        }

        calculate("A","b");
        /*try{嘗試執行的代碼--有可能會出錯}
        catch{如果有錯,就捕獲異常}*/

        try {
            /*死循環並不會報錯*/
            /*while(1){
             console.log(1);
             }*/
            /*死遞歸會報錯*/
            calculate("a","b");
        }
        catch (e){
            console.log(e);
        }
        finally {
            /*這裏面的代碼無論是否有異常都會執行*/
            console.log(‘這句代碼無論如何都需要執行‘);
        }

    </script>

js中eval,arguments與異常處理的用法-基礎知識總結------彭記(017)