最近關(guān)于JavaScript的認(rèn)知要了不一樣的感受,有了很多的共鳴!這次聽到關(guān)于不同種類函數(shù)的見解分享給大家
下面的例子是函數(shù)名為box,沒有參數(shù),返回Lee,alert為輸出函數(shù)
function box (){ return 'lee'; } alert(box());
下面的例子是匿名函數(shù)他與普通函數(shù)的區(qū)別是他沒有名字,所以當(dāng)我們只寫一個匿名函數(shù)的時候,它是不能執(zhí)行的,因為他沒有名稱,無法使用alert
//匿名函數(shù) ,不可以運(yùn)行function (){ return 'lee'; }
因為我們匿名函數(shù)無法運(yùn)行所以我們把匿名函數(shù)賦給變量,通過變量來間接運(yùn)行我們的匿名函數(shù)
//匿名函數(shù)付給變量 var box =function (){ return 'leee'; } alert(box());
//通過自我執(zhí)行(function (){ (函數(shù))() alert('lee'); })()
//自我執(zhí)行后用alert打印alert((function(){ return'leee'; })());
//自我執(zhí)行傳參(function(age){ alert(age); })(100)
閉包的意思是函數(shù)里面放一個函數(shù)然后顯示
//函數(shù)里面放一個函數(shù)=====和上一個是一樣的function box(){ return function (){ //閉包 return 'lee'; } } var b=box(); alert(b());
函數(shù)的局部變量是不可以實現(xiàn)累加的,因為它使用的是全局變量,全局變量是不可以保存到內(nèi)存中的,但是閉包可以實現(xiàn)累加,閉包可以實現(xiàn)局部變量累加,局部變量可以保存到內(nèi)存中,所以可以累加,但是局部變量可以經(jīng)常使用,因為太占內(nèi)存
//通過使用閉包實現(xiàn)局部累加 function box(){ var age=100; return function(){ age++; return age; }; } var boxx=box(); alert(boxx()); alert(boxx()); boxx=null; //表示解除引用
認(rèn)真的學(xué)!不求進(jìn)度!最求精華!什么都是知識就看你想不想學(xué)!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com