匿名函式的用處

2022-09-10 14:51:23 字數 1043 閱讀 5947

今天閒來無事,給大家說說匿名函式的用處

1.匿名函式用()包住

緊跟著用();實現(或者說編譯)

例項如下:

(function ()//使用匿名函式來隱藏全域性變數

;這裡的msg只能在內部訪問

在外部是不能訪問的,我們看到了其實js也有訪問許可權的

只是需要我們用特殊的方法來處理,大家可以試著在外面呼叫msg這個變數

驗證其訪問許可權

2. 我曾經試過動態給元素新增物件

例如:var obj=document.getelementbyid("test") .getelementsbytagname("li");

obj是三個li的集合物件

。。。。。。

你實現了嗎?如果沒有實現看看下面的**

var obj=document.getelementbyid("main");//匿名函式解決函式只能引用外部迴圈變數的最後值問題

var items=["click","keydown"];       

for(var i=0;i這問題其實我也不大懂什麼原因,對js 的機制還是不很了解

不過 我希望大家能記住這個問題 以及解決這個問題的方法

按照上面**的注釋:去掉帶有#的三行**

會發現並不能達到我們預期的效果

就是說,迴圈的變數i我們在

function(){

alert("thanks"+item);

裡面是訪問不到的 ,只能訪問到最後的那個i值

用了匿名函式以後,問題解決了

注:閉包意味著記憶體函式可以引用存在於包圍它的外圍函式的變數,即使外層函式的執行已經終止,使用閉包的時候會遇到乙個問題。

閉包允許你引用父函式(就是包含它的外圍函式)內的變數,但提供的值並非該變數建立的值

而是在父函式範圍內最終的值

呵呵 匿名函式的用處大家了解一二了吧

js很深奧,有很多我們未知的秘密,需要我們去探尋

這也是我為什麼這麼喜歡它的原因

希望大家也能喜歡上它

----------和你們一起進步,和你們一起成長

委託的用處及匿名函式(lamda表示式)

當你需要把乙個方法傳送給其他方法時,可以考慮使用委託。好像不是很好理解,也可以這樣說,當你確定要處理一件事,但又不能確定處理方法時,可以考慮用委託。其實單獨的說委託的應用好像有點牽強,委託更多的是在事件中的應用。using system using system.collections.generi...

umask函式的用處

include sys types.h include sys stat.h mode t umask mode t cmask umask函式為程序設定檔案方式建立遮蔽字。unix中檔案最大訪問許可權是0777,即 rwxrwxrwx.如果講umask函式設定為0111,那麼預設建立檔案的許可權就...

函式 匿名函式

匿名函式 沒有名稱的函式。匿名函式的使用 1 將其賦值給乙個函式 var show function show 2.匿名函式的自我執行 function hi 函式 無參,有參,帶返回值 帶有返回值的函式 var num function a,b 10,9 consloge.log num 例子 v...