函數聲明提高閉包
執行代碼前會先讀取函數聲明,能夠把函數聲明放在調用他的語句後面。ide
sayHi();函數
function sayHi(){this
alert("Hi!");指針
}對象
使用函數表達式建立函數遞歸
var functionName=function(arg0,arg1){內存
//函數體【此函數成爲匿名函數】作用域
}it
遞歸
function factorial(num){
if(num<=1){
return 1;
}else{
return num*arguments.callee(num-1);
}
}
//arguments.callee是一個指向正在執行的函數的指針,能夠實現函數遞歸調用。使用他比使用函數名更保險。
閉包
閉包是指有權訪問另外一個函數做用域中變量的函數。建立閉包的常見方式,就是在函數內部建立另外一個函數。
閉包會攜帶它的函數的做用域,所以會比其餘函數佔用更多的內存。
this對象
在全局函數中,this等於window,而函數被做爲某個對象的方法調用時,this等於那個對象。