function abs(x){ if(x>=0){ return x; }else { return -x; } }
一旦执行到return代表函数结束,自动返回结果
如果没有执行return,函数结束后也会返回结果,结果是undefined(未定义)
var abs=function (x){ if(x>=0){ return x; }else { return -x; } }
function (x){......}是匿名函数,但是可以把结果赋值给abs,通过abs调用函数
方式一与方式二等价
abs(10);//10 abs(-10);//10
参数问题:JavaScript可以传任意个参数,也可以不传递参数~
参数异常可以手动进行判断
var abs=function (x){ //手动抛出异常来判断 if(typeof x!=='number'){ throw 'Not a number'; } if(x>=0){ return x; }else { return -x; } }
arguments代表传递进来的所有参数,是一个数组!
var abs=function (x){ console.log("x=>"+x); for(var o=0;i<arguments.length;i++){ console.log(arguments[i]) } if(x>=0){ return x; }else { return -x; } }
rest代表获取除了已经定义的参数之外的所有参数~...
function aaa(a,b,...rest){ console.log("a=>"+a) console.log("b=>"+b) console.log(rest) }
rest参数只能写在最后面,必须用...标识