JavaScript中的闭包初探

什么是闭包?

 所谓闭包,是指函数能够访问函数外定义的变量。

 

例子一:

var sMsg = "This is out of the function!";

function printInfo() {
    alert(sMsg);
}


window.onload 
= function() {
   printInfo();
}

 

上面的例子中,pringInfo函数访问了一个函数外的全局变量。

 

下面的例子更加复杂点,内部函数不但可以访问全局变量,也可以访问外部函数的参数。

例子二:

var extraBonus = 3000;

function calcSallery(baseSallery, bonus) {
    
function addSallery() {
        
return baseSallery + bonus + extraBonus;
    }

    
    
return addSallery();
}


window.onload 
= function() {
            alert(calcSallery(
5000,4000));
        }

 

结果:

12000

posted @ 2009-07-14 11:39  Master HaKu  阅读(182)  评论(0编辑  收藏  举报