return
可以使用return來設置函數的返回值
語法:return 值;
函數如果有返回值需要定義一個變量(容器)來接收,在函數中return后面的語句不會被執行。
如果return 語句后不跟任何值就相當於返回一個undefined,如果函數中不寫return,則也返回undefined
return后面可以跟任意類型的值
返回值的類型
函數的返回值可以是任意類型的值,包括對象和函數。
function fun1(){
function fun2(){
console.log('hello');
}
return fun2;
}
var a=fun1();
console.log(a);
這里返回的是一個函數對象,只是單純的對象,如下圖:
如果修改一下返回值,
function fun1(){
function fun2(){
console.log('hello');
}
return fun2();
}
var a=fun1();
console.log(a);
這里返回的是函數的返回值,因為加了括號,相當於調用了函數,因為fun2函數並沒有返回值,所以輸出a的值為undefined,如圖:
外面調用fun2函數
function fun1(){
function fun2(){
console.log('hello');
}
return fun2;
}
var a=fun1();
a();
結果
也可以不聲明變量接收放回值,因為返回值是一個函數,所以可以自己直接調用
function fun1(){
function fun2(){
console.log('hello');
}
return fun2;
}
fun1()();
這樣寫法結果和上圖一致