函数参数(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); } } })();
Atas ialah kandungan terperinci javascript函数参数、返回值和异常代码详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!