js中eval,arguments與異常處理的用法-基礎知識總結------彭記(017)
阿新 • • 發佈:2017-09-02
報錯 字符串 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)