返回值与Java基本一致
~~~
<script type="text/javascript">
function fn1(){
return 100;
}
alert(fn1());// 100,得到的是函数的返回值
</script>
~~~
***
返回值还可以是函数
~~~
<script type="text/javascript">
function fn1(){
return function(){
alert(1);
}
}
alert(fn1());
</script>
~~~
得到的是一个函数字符串
如果先运行函数中返回的函数
~~~
<script type="text/javascript">
fn1()(10);
function fn1(){
return function(a){
alert(a); // 10
}
}
</script>
~~~
***
### 未定义问题
~~~
<script type="text/javascript">
function fn1(){
}//默认有return,就是未定义
alert(fn1());
</script>
~~~
#### return小结:
1)函数名+括号:fn1()==>return后面的值
2)所有函数默认返回值都是未定义
3)return后任何代码都不会执行
***
### 函数中的arguments
~~~
<script type="text/javascript">
fn1(1,2,3);//实参
function fn1(a,b,c){//形参--可以不写,不写的话,存在arguments里(实参的集合)
//alert(arguments);//object arguments
alert(arguments.length);//3
alert(arguments[0]);//1
}
</script>
~~~
***
课堂练习-1:求和
~~~
<script type="text/javascript">
// 参数个数无法确定时候用
alert(sum(1,2,3));
alert(sum(1,2,3,4));
function sum (){
var n = 0;
for(var i = 0;i < arguments.length;i++){
n += arguments[i];
}
return n;
}
</script>
~~~