簡而言之,閉包的作用就是在a執行完并返回后,閉包使得Javascript的垃圾回收機制GC不會收回a所占用的資源,因為a的內部函數b的執行需要依賴a中的變量。這是對閉包作用的非常直白的描述,不專業也不嚴謹,但大概意思就是這樣,理解閉包需要循序漸進的過程。
在上面的例子中,由于閉包的存在使得函數a返回后,a中的i始終存在,這樣每次執行c(),i都是自加1后alert出i的值。
那么我們來想象另一種情況,如果a返回的不是函數b,情況就完全不同了。因為a執行完后,b沒有被返回給a的外界,只是被a所引用,而此時a也只會 被b引用,因此函數a和b互相引用但又不被外界打擾(被外界引用),函數a和b就會被GC回收。
了解更多內容:請訪問:雨點網絡 石家莊網站制作 石家莊網站建設
*請認真填寫需求信息,我們會在24小時內與您取得聯系。