首頁  >  文章  >  web前端  >  javascript函數參數、傳回值和異常程式碼詳解

javascript函數參數、傳回值和異常程式碼詳解

伊谢尔伦
伊谢尔伦原創
2017-07-25 10:46:061757瀏覽

函數參數(arguments)
    arguments並不是一個陣列,只是與陣列相似。 arguments除了擁有length屬性,陣列的所有屬性和方法都不具備。用arguments來實作一個累加的函數。

function sum(){
    var total = 0;
    for(var i=0; i<arguments.length; i++){ // arguments.length返回sum函数调用时传递参数的个数
        total += arguments[i];
    }
    return total;
}
alert("sum: " + sum(1, 3, 2, 4));

函數傳回值(return)
    當一個函數被調用,通常會從函數的{開始執行到}結束。如果想要提前結束函數的執行可以使用return語句,此時,return語句後面的所有語句將永遠不會執行。如:

function test(){
    alert("first");
    return;
    alert("second"); // 该语句永远被不会执行
}
test();
// 一个函数总是会返回值,如果没有使用return返回值,默认返回undefined。如:
function test(){
    alert("first"); 
}
alert(test()); // 输出:undefined
// 如果函数前使用new方式调用,且返回值不是一个对象,则返回this(新对象)。如:
function test(){
    alert("first");
}
var t = new test(); 
alert(typeof t); // 输出:‘object&#39;
alert(t instanceof test); // 输出:true

異常(exception)

    異常是乾擾程式正常流程的非正常事故(可能人為有意的)。當檢查出這樣的事故,應拋出異常。如:

function add(a, b){ // 定义一个加法函数
    // 如果传递的参数不是数字类型,则抛出一个异常信息
    if(typeof a != &#39;number&#39; || typeof b != &#39;number&#39;){
        throw {
            &#39;name&#39;  : "typeError", // 属性是自定义的,名字可以任意取
            &#39;message&#39;: "add方法必须使用数字作为参数"
        };
    }
    return a + b;
}
(function(){
    // 捕获add方法可能产生的异常
    try{
        add(10, "");
    } catch(e){ 
        // 一个try语句只有一个catch语句,如果要处理多个异常,则通过异常的name属性来区别
        // 判断异常的类型
        if(e.name === "typeError"){
            alert(e.message);
        }
    }
})();

以上是javascript函數參數、傳回值和異常程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn