函數參數(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' alert(t instanceof test); // 输出:true
異常(exception)
異常是乾擾程式正常流程的非正常事故(可能人為有意的)。當檢查出這樣的事故,應拋出異常。如:
function add(a, b){ // 定义一个加法函数 // 如果传递的参数不是数字类型,则抛出一个异常信息 if(typeof a != 'number' || typeof b != 'number'){ throw { 'name' : "typeError", // 属性是自定义的,名字可以任意取 'message': "add方法必须使用数字作为参数" }; } return a + b; } (function(){ // 捕获add方法可能产生的异常 try{ add(10, ""); } catch(e){ // 一个try语句只有一个catch语句,如果要处理多个异常,则通过异常的name属性来区别 // 判断异常的类型 if(e.name === "typeError"){ alert(e.message); } } })();
以上是javascript函數參數、傳回值和異常程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!