函数声明提高闭包
执行代码前会先读取函数声明,能够把函数声明放在调用他的语句后面。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等于那个对象。