函数声明提升
执行代码前会先读取函数声明,可以把函数声明放在调用他的语句后面。
sayHi();
function sayHi(){
alert("Hi!");
}
使用函数表达式创建函数
var functionName=function(arg0,arg1){
//函数体【此函数成为匿名函数】
}
递归
function factorial(num){
if(num<=1){
return 1;
}else{
return num*arguments.callee(num-1);
}
}
//arguments.callee是一个指向正在执行的函数的指针,可以实现函数递归调用。使用他比使用函数名更保险。
闭包
闭包是指有权访问另一个函数作用域中变量的函数。创建闭包的常见方式,就是在函数内部创建另一个函数。
闭包会携带它的函数的作用域,因此会比其他函数占用更多的内存。
this对象
在全局函数中,this等于window,而函数被作为某个对象的方法调用时,this等于那个对象。