返回值與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>
~~~