JavaScript学习总结(十六)——Javascript闭包(Closure)

时间:2022-09-01 00:26:10

原文地址: http://www.cnblogs.com/xdp-gacl/p/3703876.html

闭包(closure)是Javascript语言的一个难点,也是它的特色, 很多高级应用都要依靠闭包实现。很早就接触过闭包这个概念了,但是一直糊里糊涂的,没有能够弄明白JavaScript的闭包到底是什么,有什么用,今天 在网上看到了一篇讲JavaScript闭包的文章(原文链接), 讲得非常好,这下算是彻底明白了JavaScript的闭包到底是个神马东东以及闭包的用途了,在此写出来和大家分享一下,希望不理解 JavaScript闭包的朋友们看了之后能够理解闭包!以下内容大部分是来自原文,我在原文的基础上加上一些代码注释和运行效果图以及少许的修改,方便 大家理解!

一、变量的作用域

  要理解闭包,首先必须理解Javascript特殊的变量作用域。

  在JavaScript中,变量的作用域分两种:全局变量和局部变量。

  在Javascript中,在函数内部可以直接读取全局变量。

1 var n=999;//定义全局变量n
2 function f1(){
3   alert("在函数内部访问全局变量n,n="+n);//在函数内部访问全局变量n
4 }
5 f1(); //

运行结果:

  aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAATMAAAC5CAIAAADLZk8DAAAgAElEQVR4nO2de1wTZ77/n+yees7p2Z5dd7ftnl9fv21P3aq0ardlPUixF05tqwgU5OBilf5eu6vRrezZbtXdLrYVSmu8AXWPHm0BqxJaKchFLgJBQa7hmnARkCAEyA0IIYSrykx+f0xmMpNMbpgMnOP3/fq8NCSZzGQy7/k+zzOTCaqpqcnPz79w4UJCQsKHH364fPWvqKxYs5bIyuf/7UEI9X7pK4HKM6u8IRDPJSoq6tChQ2fOnPnmm2/y8vJQXl5ecnLyiRMnVqxZ+9zzv0o6/830PeM8c/d/Saa4yqR17jiVCVfi5GtaLwxn64Hjz/feHL79rdfnFgfb33r9HoZ/9XWa1+oXn1nlvW/fvsTExIsXL6Lz58+fOHHiiSeXnUu9pJ3Cb+vwm8PmdFAZsRf6JG5P+/wy5Gza6NHgLbRIiahxqQqXqvBmtjRZRIk3KfFGZhqYqVfQg9VRGcTEZGrpGcBqyFQT6ceq+7EqMpXMUPcTTyMmoV6hdoDx4tQc6wbNS1KvwOgLabH8Fu+OeMsW64F1XUmIqFkidSUt9Ghcjm4a3/bGa8NSqfxKzmBejiI/R5Gfo8rP0eTnaPKzR/KztfnZuvzssfxsfX62Pv+yIf/yRP7lSRuZsPrTUHBZX3BZX5A9VpCtK8jWFmSPFGRrCrI1BTmqghxFQY6iIGcwP0eelzPcIt32xmtjM3jPKK6dwpMvfPP4E08ScqLjx48/+4LP16mXlAaajSN4xwjeOYJ3juBdVLQ2MuKpdM4vw+Z0OBfTLoAmaisR4rNU41JiA1LhEjtOqlictNSSJiTDSYXZEPH8nJRjFXKsUj4fP+mzpi9SPU3RBoU9ORvZ5GT1046cnPmpm8a3vv6aprFJnpUhz8oYyMoYzMpQZKerstM12enD2ekjOenanPSxnHQ9GYMr0eek63PT9bnpY7np2tz0kdz04Zx0TU66KiddkZM+mJ0xkJ0hz86QZ2dompq2vv7a2Ixpq1OM48nn04jKifbu3fvC2pdGp01Cmm3U4re0+C0t3q3Fu0fx7lFcxpZuradya34ZMcfVvUDHCM3SYbx9CG/T4K0avJXcFCSkn6xaWm+sjUwnG+brJKuWFk7SY+0nq5yu+tnA9JP1/bog58IVT900Hu6/XiOu67mU1ncpTX4pbeBS2uB3aYrv0tTfpWkyhJoM4UiGUJsh1GUIxzKF+kyhPjPVYCP6zNRx5p/6TOFYplCXKdRmCkcyhZpMoSZTqM5IU2SkDWakDaSnydPT+tLTetLTNHV14f7rKTPbhnDtFO61+sWwsDDk7e19Xvhdr44hJGEj4V7PKN6jw29bZ9SD6bnvsO5H2EPbERBNAMLSm0P4TaJ+avBWsnISflrWzHmXShvNV/tO0rWkC3nDwk/nimeNs43b+RfPxday1U3jYa/4Kqqquy+m9FxM6UlN6U1NkaemDAhTFMIUhTBFLUzRCFOGhSlaYYpWmKwTJuvJnPrLwbCtfCKn/nKQ9R6dMFkrTNYKU4aFKZq0FHVaiiItRZGWMpCWIhem9ApTeoQpPakp3akpiurqsFd86WbKRvGvvk7z9vZGz6zy1s+a6gbdScrGXh3eN2aKnEyfx9I77+jmmds6vEdnkrl71GRp1wjeSW/iakwtW5OZarOZDpxUsncpXaqTVU44eUOO3egz3bDvZ9V86ye982m/52ldPD0qp9RFOXXTeKjv2sHy8s6k011Jp7uSTsuSTvckn+5NPi1PPj2QfFqRfFqRfFqdfEqTfGo4+ZQ2+ZQ2+b+IhG3lG0nCtvL/tu9Di3u0yf+lTT41nHxKk3xKnXxKkXxakXJ6IOW0POV0b8rpnpTTsuTTXcmnu5JPdyafHrxRHuq7lm5m+xA+NoM/s8obPbPKe+ae0VQqySJJF1I+hvfr8X49PqDHB8bxgXHTn4soY+bIXQljj0BXVIt3U8WT9LNtiBwTouR0xcl6tjoptlEnWbWk2q6V1k7KsRt9WHmfWc4bFo1bOVv9tJKzxpacgyzF06mRoUXZ7dRN48Hea3pLiqQJR1sSj7YmHr2ZeLTjiyNdXxzp/kLQc1LQe1IgPykYOCkYOClQnhSoTgrUJz/XnPxcc/Lzk3/8wEJF+u2Tf/xAffJz1UmBkpxcflLQe1Jw+6RA9oWg64sjHV8cuZl4tC3xaGviUWnC0b6SomDvNXQz24bw6XtGs5m3mKWyl3CSFHJwHB8cxxXjuMKAK8Y9lcH5RW/OwDxyqyAQxRfpcbne7OdtsgtNydk+bBoWIuQktieLdqzj5usge/OVRUgbXUr2OtmHlTNzo8+p+klv3Npq3zLkZPPTfuPWmWFb7rudumk88JfP9RQWNB6Jaz4SJz0S13okru1YbPux2K5jsd3HY3uOx/aciJWfiJWfiB08Eas4Eas4Easi88Uf3qcLSWn5xR/eV5FPHiQn7zkR23M8tvt4bNfx2PbjsW3HY1uPxkmPxjUfjWs8GtdztSDwl8/ZNnPOSGhJlUpznaScrEngHZbYVUsaw0OHqlkeKhHwkG0CM1SKcekhe08xPW1wHB8clx7ihV/oJrW8VRCIwi/cMsvZlBGOUHyxHh+sSuCFFDTp8UG99BDP9Jziw7zADNWgSUh2AtJVt6nGLSnnTUpODd5CHwS6zy7lvIZ5LOoklTJrP1nr530MDs2v8+nMsC2Xcuqm8YA1K7vzcuviPm6I+7gp7mNJ3MfSzw+2fn7w5ucHuw4f7D58sFtwsFdwsFdwsF9wcEBwcEBwUEFL4t7/DNvK15OEbeUn7v1P4iHiyf3k5N2Cg92HD3YdPtjx+cHWzw+2fH5QEvdxU9zHDXEf18V9LMvLDViz0p6Z7NWS1FJpwBXVCbzDEuU4bpnqBNtOhad248pxXCTgxVRbTTiOK8dxSWZ4YIaKTfLwi91s/lcn8EIKmsk/mzPDkfX+orsgCIVf7MZLBDxCe9OrVSfwUHwxoXR3QSB1e9xcQq8e5gV8pzK1bMk+Zyd5zLZdg7dSrVkV3qxyVktne5X34WRZH1bWa7pxP3663vNkl3MejVvOWra6adzvpz+o++JE1qZXswNezQ14NS/g1cKAV0oCX7kW+HJ5oF9FkF9NsF99sF9jsF9zsF9LsF8rM4KwsLCtfA1J2Fa+ICyMerQl2K852K8x2K8+2K8m2K8iyK880O9a4Mslga9cDXglL+DV3IBXswNezdr0av0XJ/x++gObZs7OGa0L5oDeQR2LqcZVBlxVk8ALLZAacJVlpLG8cKEMVxnwUgEPIRSUqVIZVMJQ050qg0oYigJDw4MyVUoDrjTgItulNaba+gnhqd2q1FDG0ywrdndBEIovMZmpSg2l2d5dEGRjXpvpZo6So0Ej5nFaYpCWqJmNKmsn5zXSwzr0aqPteoPVyV7seq/phoWfN2y0b9k7n/P0E3fWz0VQPHXTuO/SfxSfOJrxum/mBt+sDb45G3zzN6wrenOd6E2f62+uLX9rbdXGteKNa+s3rm3cuFayca2UFkFoaNhW/iCTsK18QWgo8QTJxrWNG9fWb1wr3ri2auPa8rfWXn9zrehNn6I31+VvWJezwTfrDd/MN3wzNviK44/6Lv1He2bSR31oBVN6iEe0NnFldQJPIFEZcJWsIAhRduGqGns1kzIzploSy4svrUnghRYIBbygTJVKVhAUWiDKZJgZSN6mRZUaajYzMFOlHMeV49IYXnhqZgIPxYtM5Zd4miSGh5BlbZfG8MJTu1mlJbu4enxAj/eP4UWHeZu/U/WO4VSDljiUYh4H0uAtGlPNJMxsdGKkx+ERESeHXlnr5HW22K+fjg+uuHhkxbWRoYWWUzeN+/744bqEoxkb/C6/6Zf9pl/uW375b71UtPEl0cZ11zf6lG/yqQrwEQf4NGz2adzsI9nsIyUj2LIlbCu/l8TitmDLFulmH8lmn8bNPg2bfcQBPlUBPuWbfK5v9BFtXFe08aX8t17Kfcsv+02/y2/6ZW7wq0s46vvjh50wk6UpK43hoZhq0kwLLZ2umTHVuPRyOFlppbG8+BgBLyhTJb0cHpSpIiYpJYwly6mpJtNulwp4QRkq1TiuGpfG8BBCKDBDpWSYaWo8o5ACiY2qaJrEbs3sGzON08rImmlhplSNN6tNh0zo5w/UOz366hYnLbS8Zi2nx/y0Hrmtd/WwpzPDtu5t2dLN/OkjDf8Vnxnsnx3snxPsn/+2f2GIf1GIf2mIf1mIf0WIf1WIv3iLf/0W/8aw1yRhr0nDXiUStpXfTRK2lS8ID7e4Rxr2qiTstcaw1+q3+Iu3+FeF+FeE+JeF+JeG+BeF+BeG+Oe/7Z8T7J8d7J8Z7N9wKt73p484ayYx9lN82NGYDIovNeDqmgReaEGLAVdbxmSm2oBfE/Biq3G1rCCYtFp6OZyY3FUz6QU5VaZKDUVkmTWXVlNkBUEoXsSswOayLLOsmYN6vF9vqpl9Y4x+Jt1M81FNFd5sasdiDkslyxERtuarM0Ovtpykh9VP5wdv7TdubY7cKiz9dHjOkFM9Tw90O3XTuN9jSxvPns6JCLoSEZQfEVQYEVQUESiKCLz+zuby7Zsqd2yq2bFJvGNT47ubGt/dJHl3k5SM4J1t1HkFgne2sd4jedc0oXjHppodmyp3bCrfvun6O5tFEYFFEYGFEUH5EUFXIoJyIoIaz572e2ypa2YSB0uIDZeqMEGZKksDHbVmSTNVaaEoVmAqsKUCHvGoDTPN9dayZpo8lMbwwlNlxA1CSFVqKHEPLhLwkECilNmomZkqpaN+JquZ5rFZjens9iYl3qDEGuz3Kp0+SmnfSTt10pTbZOz6ydL/dKbzaXvk1tWRoXke83SrnLpp/NWfPdac+nXhnsjCnduu7twm4m8r3b2tbPe28j0RVXsiavZEiN+LaNz768a9v5ZGhUujwtuiwtttpM3qT2ISYnLxexE1eyKq9kSU74ko272tdPc2EX/b1Z3bCnduK9wT2Zz69as/e8w5M3XUCJDJzBIBD6F4UXUCTyApFfAQ0dt0tTUrSOCh+FJCM8LPmgReaEFpJpuZNQk8ZGXmOC4S8Mjmq6nrSLZL40Xme8jiabqfMRQsMo3WWg75DpD9zH49Lh/D+3SmMwQpM62PmjSp8EYl1qA0VUsxawvWjc1XR06WknHGT7c0blnlFNs65mm7eFof82Q/Ych9pwrppvG3VzzdmHm57KMDpft+X7rv9+X795Tv31O1f0/Nn3fXf7i78cPdzR/ulkbvkkbvaj+4q/2jXR0f7eq0kQ6rP9s/2tV+cBcxefOHuxs/3F3/4e6aP++u2r+HmBEx07KPDjRmXn57xdNj03irxq6Z9OHZAeKQILIcAaJ1F10bmw20LHemkVWrUR9pDA8FZhYQPUn64RZ2M5nDPErqGIntfiZ5HEUSw4svHlddDEUIoY+rcPkYLq9M4KHwc53m45m36MczCS3VeLMKa1JhDUqsXonVO3LSzhER9zpZ6mE/7Y/cOjxnyHHL1pGf7mrZ6qbxuB3bzx3+rO1bYe2xuKq4v1bFHBDHHGj49EBj3AHpZwekn+1v+2x/u2B/h2Bf15F9XUf+1ONKuo78qevIvg7BvnbB/rbP9ks/2y/97EBj3IGGTw+IYw5UxRyoivtr7bG4tm+F5w5/FrdjO2EmJafV8UzmgZOiwzwUUtBENWirE3iHqWqpEoaa+pnOjM2ajmdaDrriSgMuuWwem6WOi5hcJcd1EDId7WCescA84EkewzQf8GSOvhLnGBULeIEZKuLfwXHpIV58Ma1gNn4XjkIK6joLAlB4cgdt+GcEvzlsOnVWqsYlKqxZhREFk96xtP/VLcdHKZ0YenXGSRf8dGJwiP3IpytfKLMzbDsfOd1RPHtG8Vv9w0Grvc589NfG/Dx5abG8KE9elDdYlKcoylOU5KlFuZrSXE1p7nBp7khprtb1jJTmDpeaXkQtylWU5CmK8gaL8ogZyUuLG/Pzznz016DVXt0Dw7dHTWYScjLOzuvWms+YZTRoqd6mnTMNQgokLGcRmI9VlAh4VucGmQ9FHqo2jQCTBc3q7ILugiCEDlVTZw7QTkWgF8bDEsU4XizgocMSy3MJaGf8fFJFncqnusA8HIoQ+qgS76Wfnaclz84zj/1gzSqsUYU10EZi799J1i6lS06KyNynn/Y7n/fnJ/sxzwVp2XZq7gyMTP3tN9t3eXsFLf950PKfB694KmTlv4Z6Pb3luWVhzy37j1XPhK9evnXNil8/vyLi+ZURz698h8gvV77zS/LG8yvfeX7ltucZfxJP/vXzK7auWRG+evl/rHom7LllW55bFur1dMjKfw1e8RQxu13eXn/7zfZB7VSn5g6lJZHpu8zzZmVay7JpKSc358EyT4V1Ps6fK2t9Qjx1gjtxjoGMdo4B7WAJJlVjzWqyHUsbibUYgHVmmKfC7U72kHGrn6xf+7TX+XRX8XQ4LHTfLdueUVw3fb8Zu7/c1uEWWlqaSXwFzCTnKN5LVs55+7kwp6c7lFCPy+mhfeOEOu/HXC1pxzBbNZhEjTWrMWrUp16BiRWklvMolS4dDrnNrqWlkz0O/LQYv3X+4MriLJ6L4cIlLVZe3X8YZnbSvp/J6HNS9XOMZStfhF/mcuHLn+SXMwkhe2x8OZOolhI1JlFhjUqskTxMIibHYx2fj+76MI/LdbIHE/VgJc75aad+Ojk4ZFE82a9m4uCcoUXUsl1sctLMvGvsGDZd0+DWiOliHyY/SUXp35/2yFef7+N7z9Zx6SoH5gsaWH0hs1WDSYlqSQ75mLVUYGKHpdKZ5qvdoVdnnCxhi7N+Ojd460zj1sniWTeP4snhAZXFICfDTOLCXJ00P29pGYr2UKIukkuEjJquTmQZh5cUsrpEUCf9CoDkFfRaNbiULJXNSoxx6JJoxFodFHGp+eqwSzlvJ93pp6POp63Grf3DKnUeKJ7/m1q2ZjOn7xrbh/CbQ+bLWNKvmkdYemuRXVCL/SpbwyxhvUzeTeaVuIhWK3VJS6na1KtsUjJKJaFl7YBZS4el0rr5as9JF9uuzmQe7VvHfjps3Dr5VWxm8XR8QsKD0bJlmNlGu/4qXVGqkFpe4XKBLj/JahdR65y5liz9/TNWqBqXmj5ITKLCmlSkk7RzYonmK6WlrZEe6+ar813KedfJYmbcWz/tdD4dnJbg6JyhOsuz4d3RsmXz83+WnEwzNXgbeQpCu4WlQx64TLMrV2q2aZoN5VjE01iuffPHpqJdoECFNRLDPLQzs8XUYI+Vky6XSrtDr/NuuxazZd7tW+cHb+cxMuRkz9NB8eT4PNt5yXk/fjLMpO4lFNVM4COTpmhtZ4TbDLNmgiVDTsaAa8zBiKgNmNqAqegZx5Q2orDKIBG9OQN2MoYNjGH9jiJ3dxzOkVgwO0tOf4PEW7ZeFbZWmmqcuXoNmIpc7WoDRn1ZQmPANRNOhf3DnWQJ+ybksTizVWsmnDOzVYNrJvBzl3Ijo6IhEIinc+5SroWcNs0cmcQjo6KNAAB4nsio6JFJMBMAFhlgJgAsRsBMAFiMgJkAsBgBMwFgMQJmAsBiBMwEgMWIAzPbyLN/2sBMAOAQwky6gGAmACw8ds28Z6TODm8dwkemwEwA4IjIqOiRKbyV9UrQ0/eM9K9xgJkAwBmEmfRfg2eY2QZmAsBCYGGmVc2kfXMSzAQAziDMpAvIuBI0/cvQWjATALgiMipaO8W4GsEM3cwO8ipVHSNgJgBwB2EmXUCGmfTL84yCmQDAFZFR0aNTjOtjMczs0uJURqfBTADgiMio6NFpnC6g2czZe0bqspTdWlwHZgIAV0RGReumcbqADDPpV1gGMwGAMwgz6QLOMn7ZVodTGZsBMwGAIyKjosdmcLqAs3M0M+m/FKIHMwGAKyKjovUzjJ/qMZt5Z85I/8kgMBMAOIMwky7gHbqZ9F/LGwczAYArIqOix2cYP1fJMJP+27KGWTATADgiMiraMGv65WgiZjPvzhmVBlw5bsoEmAkAXBEZFT0xa7ZPacDvms3EjOoJnMrkHTATADgiMip68g5OF/AuRjOT/vstYCYAcAZhJl1As5n3MCP9B4ymwEwA4IrIqOipO4xfELtHN1M7hVOZvgtmAgBHREZFT9/F6QKazZzDjLppnMoMmAkAXBEZFT1zF6cLOEc3c2wapwJmAgBnEGbSBWSYOT6DU5m9B2YCAEdERkXP3sPpAtLMxI2GWZzKQpmJYVhHZ2dXZ5dWq+V+7gCwIBBm0gWcw0kzMdw4MYtTubNAZqpUyoKCYlFJpVhch+M49wsAANwTGRV95x5OFxDDF9N3TSYmJrJz8srKrlZUZF65UtTd3c3xAgDAgmDvuybTd40tatwUDT68EL+eUFcnvpxVVnTlD7VFPxeJivLyRTMzsxwvAwBwT2RU9PAkTheQ8bsmUjVOhXszh4Y0WVkFWVmZHTVLFbIlpZlBBUUNDQ0NXC4DACwIhJl0AW2aOcStmRiGlZeX5+dXFH4XZjQioxG1lP/ztaLzefnXR0ZGOFsMAFgQIqOihxyaKVHjEs7NlMlkV65cKyz85nbj3xNmGjEk+uaVyqqO8vIKNw0FyRJ9fRNlth9EbFBTyBL5iTKjUZboyy+k/ivkI36hnfnZfFCW6Gt+aWMhnzlD6yllib5Wc6LeD9uys7zTQj5CbItr660j9qcbC/lsr27vlWyvI8BoNJJmEuqxmylZCDNnZ2euXCmorGwvzQwwGpFxBhlnkBFDraX/VF+ZXFRcqxhUzPvF7W12NrdhajrGJiVL9OUXyhJ9+Yk0JexsdKyPsiyPb2IiKTg1ifVehM1N9jtZ90GmXQGbVTb3WOR+x/E6NC2DrXe8EGaaF5r25py/k1voZkqszZQskJkSiaS4uPZG2RlZ3d+fPe29/08bDuz/90Mfv9HT/EhV5gs14rbr12/Mzc3d51zslTdZoq9vYiKf3MIK+aYPqZCP+IlUkbTaGumljip2DjdfYyGf2gJMC2X6j6GILJGfKLNThBxUZPpGJkv0pe1kCvnWexyHy0x7LrmOWDbjxVMzaW/SvDNy/k6usTBTQjdzaoHM1Ol0hYWipubmmsKX706iP/xh165dn+zc9eG77+6vuvqkov6R6sK/VotvtrffvK/ZMLZVK0mpR4mPqZCP+IVkOWIYUJjI5/uatKU1SAutap4zf5iXiZiedWMnHma3gK2gkYtGTsHahJUl+jLa6XZa+RbzY5ppuSIXTc1kOEa+P+fv5BxrM6cW1kwcx2tqam52DNRWnZC3Lbkz8f0/H9i+e/efdu16L/Ld39Zcfcqo+4fy1OfUKo2otGJiYnK+87Fo9Nk202g0ymTMDY7ewCSE5RcW8n0TCxP5fD4lh2ly+lbI/JhltkovQojP55MVmF9opLqdtCpn30zanoNPN7OQjxA/0VYdSyT3LHYLvbkny5wbuUzkls1sP9h6pUI+0XanvbRzsE9oveTmXR3DN7Jl4uSdnLPozFQoFNeu14rrqjsr/q8R481NPrT/T6HvbOdv/fX2oOC3667+X+Pwo6qahysydmqGp+rq6uY3F7Ixx7rxMGoM8Qw+n4/4fL5JDmqsh961pIaD+MRk5IdL04Scm70uGAm95rI4brHgzD6uHTOt1wOrDLYrBWW4XYnMDzPa6bR1Qm+9I/NbdcFNFyekt9+pSZ2/k3NcMXPC42bOzc1dvVqsGTJUXuVPKJYYp348q334/f98I2Dz1jfe3Pzaa/51+T8zDv7kTuc/VF58orv1erW4eT4n05r2q/QVzlYz6RYxRCELI/k3Y5so5JONX+oJFh83edMsEItntFdg7gFY5mr5BLeYaaoelstlc6Eta5R5ddh/Fr1CudR0dH1Call8ExNpuw5n7+SWyKjooQlnzFRxYebNmzcrKpvr6nJv1zxu1P/QqP+X2ZGHo3a/5LNug8+69a+8/FJD/qPG24/MtP2Tovj7ZcJNo7rpyspqDMNcmgtbf8h+P9PCY/btltxOmD02oyzRl8/ns2yw5ECS5dwJlcx30Y+EkF1P5uKymGm1XJb9TEe6+DIrP/UCFoXeqn1uWWCcqZnuNNNma9ZyWutC6PydXGAyU2XfTBUXZk5MTBReFWmGxsqy3zbqHzEO/x+j9olZzSO73l3t9ey6X631e/ONl1uvLjXeWjLV+NBMA2pOXSIuPNHQ1NXX1+f63Jw2kwW6AfQOJ/VSlmayf7QyR2byrVq/yKqg0l+HtWbafT823iX5+nZrJu01TC0AKwns9zSZvVLbi2NjfHTeSrO/oPN3coPZTBWrmSrTY82eN7O8vKL9pqK2MqWv6qfGkZ9hiieMip9NdS4NC3j0H/7xsZ8/+YuX/V6QXH7oXgPSVyL9DaQvRoUnl2mGddeu37hz546Lc3PCTHtbFVuHj+y3MjdTJ8203GSt99Xk1melAPswsPXMnDbTTp2wnoCx7HbLC3vf1KFgtqxz1UzzJ2pR5Z27k2sIM5tJASUqKzObyXjUTK1WW3j1WldXZ+Xl143KJbPdD0+2fW+mDY3VoTd8EUJoyd//8KV1Xk3f8KbK0GgRGs1H+nzUfGZJRcZfGqS3Ozs6XZwhvSbZ2JvbhN6aZXT3ELONaaPI0HsxVPvSdmuWZcEtfbY3pGQxM0cDpr6JMhaDaPspchyWVUb6fsrWCLDz65m+Ph44KDOJWJrZzImZc3NzRUUlXbeUJRm7tHXfm2xC+nqkq0ETYmSoQUEvI4TQ4//ydNjbL7el8yZL0OgVNJqLtDloNAsVHX+soVpUUlo+MTHhiWUDgAXBwszmBTGzt7c3v6CsqCizJeuR6SY0VofGapCuChmq0XQdigxACP3dU79Y+074hvZLvMkiNJqDtNloJBNpM9GtL79f8N/BNQ3dtbW1nlg2AFgQXDBT4xkzZ2dnr+QVVFW3FKeFDN/43pgY6aqRrgrpKpDuBtKXo5YLKO8IEp1E9UlImYFGc4xCoekAAAvoSURBVNFIFhrORMPpSPMtGr2EKo4vKc6IvyqqHBoacvviAcCCEBkVrXFoZpMKb/KYmbW14uLShoKcL25mLdGLka7S5OToNTQqQgYRajqHvngfxexaUngMTeajkQw0nI6GLyH1N0gtROpU1HP2+7kn/q2iuq2srNztiwcACwJhJqEeu5lNnjRzfHw8O6fw6tUiUdrrI2Xf01Uh3Q2kK0O6a2i0BI2VoMlr6M/vIIQeeuwJ753vrJNdRLpMNHwJab5FaqEpI9+g6uNLcs8dKBRV9/b2uncJAWBBoJvZZG1mk4fNLC29ln+1Ki/jL105SybED+mrl+grH9Lf+N5YOU9fiiavoalyFP7vCKGHf+W74f9F/roleclEHhrJ+ruRzIeGM5YMZywZyXhIm7mk/+L3844sKxWVFVwVzc7C5UiA//FYmNnEpZkajTorKy83+3xlxhv4rWWzbV6z0pWzzStmm5bPNP5itmHZbP3Txuan6i7+PPD1X4T/R0DK4Ve0Rf86U7Fy4pqX4dqzE2XPTpR5TZR5TZZ53alY0fL1v+R8ufNKfllLS6sbFxIAFgSnzVS638ySEtHVovLC7/Y1Cp9qSF3ecGF5w9fLG879gsyy+nNP1597uvnc01VnnxYlPll99qm6pGXipOXir5aLv1ouTlpeR6Y+aXnjuadL/9unJD8nN+/q2JjejcsJANxjMlNpx0wl3qTEGz1g5pW8/Lr6xlZJXZukvk3S0C5putnS3NEqud3dMdh3e1it0o0Mj40Oj42O6EdH9LqRsdGRsdGR0WG1WjmoVgz2dXd1tbd0tEputjS3S5ramhvaJU3SZsm1a+Xz/g4KACwSCDMblSYBrcwktfSEmSKR6Ouvz5858+WZM0lnziSdOZt09svkL5OSk5LPJSdfSE65kHLh4oULqRcupF64KLx4UXjhopD489yFiynnLqSknE9OOfdVUsqXX6Wc/TL5zNmks2eTzp798ttvv5XL5W5cTgDgHspMSk5LMxs9ZqbRaGzxDO5dSADgHrqZjdZmNnrYTAAAWLEwsxHMBIDFgLNmNoCZAMAhhJkN9s1sADMBgFsoMxtsmdlAmWkAMwGAIyKjojUGs32WZlIPNChwNZgJAFwRGRWtNuANCrOcbGYq8HowEwA4hDCzXmGWk8XMepOZGJgJANwQGRWtNmCEemxmKkxa1iswMBMAOIM0k5RTwTST0rIOzAQADiHMrFOY5TSbOWkyE6sDMwGAWygzKTknmWaaHqtTYCowEwC4IjIqWmUw21evwNjNFA+CmQDAHYSZ4kEbZlJagpkAwCWUmZSclmYSj4GZAMAldDMJORlmUg/UgpkAwCGEmbWDZjlpZt4xUlrWDmKqcTATADgiMipaNW5Sz2TmHaaZxGO1A5gSzAQAroiMilaOY7UDZjkZZtaSZtaAmQDAIYSZNaSZtaxm1gyAmQDAKZSZlJyWZhKPgZkAwCV0Mwk5GWZSD1SDmQDAIYSZ1QNmOS3NrCbSD2YCAHeYzOw3CWjDzH6sCswEAA4hzKzqN8lpaSahJWGmAswEAK6IjIpWUGb2Y9V0MydIM6v6sUowEwA4hDCzst9cNicYZpJagpkAwCWUmZScDDMpLcFMAOASupmEnGxmyrEKOZgJANxBmFkhxyrlbGZSWlbIsUEwEwC4IjIqenDcpB4hp6WZFWAmAHBO5F6zmRXWZlIP3JBjg3osMipaDwCA54ncGz2ox27IzXKymHlDjt3oAzMBgDtMZvaZ5bQ0k9CyHMwEAA4hzCzvM8vJMJPSsrwPGwAzAYArIvdGD+hN6hFyMs0ktQQzAYBL6GYScrKbWQZmAgCHEGaW2TKT0rKsF8wEAO4wmdlrltNspuGOkdLyOpgJABwSuTd6YAy73muW00A3k9ASzAQAjmGY2YuVsZp5HcwEAG6hzLzObiap5TUwEwA4ZMfe6IEx7FqvWU6ambNGSstrvdjAGJgJABxBmUnJaZhlmkk8du021g9mAgBX7Ngb3T+GXbttlpPNzNtgJuB+zl9v35pYsv5Q7gOVrYkl56+3O1w5ZjNvs5lJFcxSMBNwK+dK2174W6VX7cSLN/EHKl61Ey/8rfJcaZv99UOYWXrbXDatzLyNlYKZgLsJSyh+Vjy5tw/j//gHX2vmHpx/kx595FnxZFhCsf31Q5lJyck0k9QSzATcy/pDuS/exHct/cHI1L0HKufUcy/exNcfyrW/fuhmEnIyzKQeEIGZgFshzDynnhueuvdAZdfSHzhvpohWGlnMFIGZgLuhauaCq8JxXKqZhHp2zewBMwF3QtbMhVeF4+xc+k/OmqnDRD22zSS0BDMB97L+UO6L7fjvH186NHX3gUqK+t6L7a6YScrJMFNEM1MOZgLugzAzRX2PGx++/S16N9vOE7rifOw/wW35/eNLnTRTTjNTxGJmDybqwUrATMCtrD+U+0I7vuexperJu25PzdF1iCQy6646ayeiEZl1Vz15V90S/ytkh3Wftrh/wdSTd5NU915w2sySHrOcZjPHZ42iHjAT8AiEmUnKe6qJu55JZ6zPTuHEXVVLvPdv8kx3Zu1E1O2WeG+f+Bobkwt/sy62xSMLtufRpfMxswcbtzazBMwE3I2pZj661FNmtsTvONqpmsjb4bNzh49lQfQ+2umxPYKDJCldq5kltswsATMBD0CY+ZXyrtLgkQh/Y5Jwx+XO2H9bFyu9q5TGe/8mT2m4W31knfeRzuoj6yx9tbD3SKcnFmz3oz9y1cwSazNLwEzAM6w/lLuqde4va37SpJl2f9J+hxDakjb9t0i0Ja1tn1WHcs2nbZaT1B5fE5ntkYVh5njvzKrWOVfNLLFlZjGYCbgVwszjvTMe2Prb9v3qd1si6Wau21drdi/n03WUmTmfrtuSxqmZf1nzE+fNLLZvZjGYCbib9Ydyn2uZ+/PqnzSopjyRkztQqJD4t/UDb6uaGdvaoJpqULV+4L3ug5qpBtVUQ82xNYy27LHLnlmwo7dnnmtxwcxiMBPgEsLMIz0zYuWUJ5K4HYWkTiVuRyExx1Z7H8tQTomrjq3eni1WTmXErFsd0ypWTolTf4sQCkmdEtMe9XT2r/qxe8wsBjMBD0CYuX/Vjz1nJsFqb9JDSzOzQ9C696uyQxBaHdPKmZlHelyumcXWZhbTzdSBmYDbWH8o99mWuc+7p6oGJz2RE9tR8IXJqsGWP3r/9gRxZ+XRVduP/tEbIYSCL1BPMD2Zhe1ZnliwPz279FnXzSy2aaYMzATcyfpDuV4tc+97/aiif+KByme3Jr2cN1MGZgLcQpj52a3JBVeF47zv9SP3mSkDMwE3s/5Qrpd07sjKH5X1jT9Q+bRr0kvqipkyW2bKwEzA/aw/lLtSOhfTNVHaO/5A5fDKH6501UyZtZky82N9YCbgPggzD6/84YKrwnFiuiacNLOPbqbMhplFYCbgVtYfyl0pufdJh6G4R/9A5fPl/7xScs9JM4vATIBjwhKKl1UZUr3++eMOw9Hnfvrg/BvWNrusyuDMVS0dm1kEZgLu5lxp2wsnK5ZVT6yQ3Hugsqx64oWTFc5cCZows8iWmUVgJuAZkkStoSeKFvznDDhO6ImiJFGrw5VDN7PI2swiMBMAFgILM4vATABYDICZALAYiQQzAWARAmYCwGIEzASAxQiYCQCLETATABYjYCYALEYio8BMAFh8gJkAsBgBMwFgMQJmAsBiBMwEgMWIC2Z2a/FTF3Mio6IhEIinc+piTrcWd8rMegXercX7dBgEAvF0urV4vYLNTG9v76/Op1X3M+opBAJZkFT3Y1+dT/P29ka/+93vvFa/2D+28MsEgUD6xzCv1S8GBASgffv2PbPKO/l8WtsQ7um5QiAQO2kbwpPPpz2zyjsiIgLFx8e/9957jz/xZPL5tP4xrGZg4ZcPAnnQUj2A9Y9hyefTHn/iydDQ0H379qGkpCSBQPDee+89s8rba/WLX32dNj5rhEAgXOarr9O8Vr/4zCrv0NDQ999//5NPPkGXLl06c+aMQCDYs2fPtm3bnlnlDYFAuM/GjRu3bt36wQcffPLJJ8eOHfv/uqUz6VpcQrYAAAAASUVORK5CYII=" alt="" />  

  但是反过来则不行,在函数外部无法读取函数内的局部变量。

1  function f1(){
2   var n=999;//在f1函数内部定义局部变量n
3 }
4 alert("在函数外部访问局部变量n,n="+n); //在函数外部访问局部变量n,错误:n未定义

运行结果:

  aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIIAAAATCAIAAADTW0JMAAABEUlEQVRYhe1USQ4DMQjL/1+bJ/RQqUoTsD3ZW+HTLGAcDEk5cAHSaQGBnMOGSxA2XIGw4QrYNqSUzNf24f1cYo3O3aAHUU6qd6PTBvpxJ+Z2ZC6n2BzXhs9opwZ9ldZhYss80IAqzKz7zAbQaJPo7KW0YhW8FMxDu4RyzQSwCuV3wCuWvxaDsvGdYcR3i8A+HUSfEuXCUWJKQvPZru5pAvpM6uPdL+GJ1NMVF8UAaaaBCJOlPKE4F/sxYkN5ajP9EbkoILaBJLYM3iB6bJ3bkOFEVCJovf32VKuszuN3ZDuI7S/M7LHZwVQT3YZH9X4F3kHoleWlE88oC758zHp/YAbd7HY66f6hXzM0B0YRNlyBF1osZSkZhtAOAAAAAElFTkSuQmCC" alt="" />

  这里有一个地方需要注意,函数内部声明变量的时候,一定要使用var命令。如果不用的话,实际上是声明了一个全局变量!

1 function f1(){
2   n=999;
3 }
4 f1();
5 alert("n在f1函数内部没有使用var来声明,此时n就是一个全局变量,\r\n证明:n="+n+",window.n==n的结果是:"+(window.n==n));

运行结果:

  aaarticlea/png;base64,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" alt="" />

二、如何从外部读取局部变量?

  出于种种原因,我们有时候需要得到函数内的局部变量。但是,前面已经说过了,正常情况下,这是办不到的,只有通过变通方法才能实现。

那就是在函数的内部,再定义一个函数。

JavaScript学习总结(十六)——Javascript闭包(Closure)
1 function f1(){
2   var n=999;//f1函数内部的局部变量n
3 //在f1函数内部定义一个f2函数
4   function f2(){
5 //在f2函数内部是可以访问局部变量n的
6     alert(n); // 999
7   }
8 }
JavaScript学习总结(十六)——Javascript闭包(Closure)

  在上面的代码中,函数f2就被包括在函数f1内部,这时f1内部的所有局部变量,对f2都是可见的。但是反过来就不行,f2内部的局部变量,对 f1 就是不可见的。这就是Javascript语言特有的"链式作用域"结构(chain scope),子对象会一级一级地向上寻找所有父对象的变量。所以,父对象的所有变量,对子对象都是可见的,反之则不成立。既然f2可以读取f1中的局部 变量,那么只要把f2作为返回值,我们不就可以在f1外部读取它的内部变量了吗!或许有人会有疑问,f2是一个函数啊,怎么能够作为f1函数的返回值返回 呢,其实是可以的,JavaScript中的函数名本身就是变量,所以函数也可以当作普通变量来使用。也就是说,不仅可以像传递参数一样把一个函数传递给另一个函数,而且可以将一个函数作为另一个函数的返回值返回

JavaScript学习总结(十六)——Javascript闭包(Closure)
 1 function f1(){
2     var n=999;//局部变量n
3 //在f1函数内部声明的f2函数
4     function f2(){
5       alert(n);
6     }
7
8     return f2;//将f2函数作为f1函数的返回值
9   }
10   var result=f1();//f1调用完后的返回值是一个f2函数,此时result就是f2函数
11   result(); // 999,调用f2函数
JavaScript学习总结(十六)——Javascript闭包(Closure)

运行结果:

  aaarticlea/png;base64,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" alt="" />

三、闭包的概念

  上一节代码中的f2函数,就是闭包。各种专业文献上的"闭包"(closure)定义非常抽象,比如有这样的一个闭包定义:"JavaScript闭包就是在另一个作用域中保存了一份它从上一级函数或者作用域得到的变量,而这些变量是不会随上一级函数的执行完成而销毁",对于这样的闭包定义,我是很难看懂。我的理解是,闭包就是能够读取其他函数内部变量的函数由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁

四、闭包的用途

  闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。

怎么来理解这句话呢?请看下面的代码。

JavaScript学习总结(十六)——Javascript闭包(Closure)
 1     function f1(){
2     var n=999;
3 //nAdd是一个没有使用var声明的全局变量,这个变量现在指向了在f1函数内部声明的一个匿名函数
4     nAdd=function(){n+=1}
5     function f2(){
6       alert(n);
7     }
8     return f2;
9   }
10
11   var result=f1();//result就是f2函数
12   result();//第一次调用result函数 999
13   nAdd();//nAdd代表的就是在f1函数内部声明的一个匿名函数,nAdd()就是在调用匿名函数
14   result();//第二次调用result函数 1000
JavaScript学习总结(十六)——Javascript闭包(Closure)

运行结果:

  aaarticlea/png;base64,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" alt="" />aaarticlea/png;base64,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" alt="" />

  在这段代码中,result实际上就是闭包f2函数。它一共运行了两次,第一次的值是999,第二次的值是1000。这证明了,函数f1中的局部变量n一直保存在内存中,并没有在f1调用后被自动清除。

  为什么会这样呢?原因就在于f1是f2的父函数,而f2被赋给了一个全局变量,这导致f2始终在内存中,而f2的存在依赖于f1,因此f1也始终在内存中,不会在调用结束后,被垃圾回收机制(garbage collection)回收。

  这段代码中另一个值得注意的地方,就是"nAdd=function(){n+=1}"这一行,首先在nAdd前面没有使用var关键字,因此 nAdd是一个全局变量,而不是局部变量。其次,nAdd的值是一个匿名函数(anonymous function),而这个匿名函数本身也是一个闭包,所以nAdd相当于是一个setter,可以在函数外部对函数内部的局部变量进行操作。

五、使用闭包的注意点

  1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。

  2)闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。

六、思考题

  如果能理解下面两段代码的运行结果,应该就算理解闭包的运行机制了。

代码片段一:

JavaScript学习总结(十六)——Javascript闭包(Closure)
 1 var name = "The Window";
2   var object = {
3     name : "My Object",
4     getNameFunc : function(){
5       return function(){
6         return this.name;
7       };
8     }
9   };
10   alert(object.getNameFunc()());
JavaScript学习总结(十六)——Javascript闭包(Closure)

运行结果:

  aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL8AAAC5CAIAAAD20XlMAAAgAElEQVR4nO3deVhTZ6I/8Dczt860dzrzdMZuvz637ei4MHVpi4qUtpZbaxWBQikUl3RupxW9bWamHXXGwbbK0BKtCtLK1ZaACqEViSxCIBAQBMIaSNgxIAQISSAhG7uSN78/zsnJOVkwIEFneL/P96HZcySfvmcPoKKiIicn5+LFi9HR0YcOHVq+eh3RFWvWY125dsNCKPHvJf8SiC5b5Y7KYDCOHDly9uzZH374ITs7G2RnZ7NYrJMnT65Ys/65teviL/wwdts0y976N+movc7zNNyegrvefH3q/siuN1+/bYTfn09xW/3islXu+/fvj4mJSUpKAhcuXDh58uRTzyxNTL6kHoU3NbBl0NJWoqrpSn7KnLd5dh1wtk3kKmEDqWKsitm0gVzljKsZgzveeG1QLJZezezLzpTlZMpyMuU5mcqcTGVOhionQ52TocnJ0OZk6HIydDlXDDlXhnOujDjosM1VA/eKjntFx83QcjM03Aw1N0PFzVByM5TcTDk3U8bNlHEz+3IypdmZgw3iHW+8ph2HnUNQPQpZF394/KlnMEDgxIkTv3/B43zypX4DSYwKtqpgmwq2qWA7UbWDqlzVttl10NJW54ozJWFqxHrXjGZtSDMGQ15/TSmsk6anSdPTetPT+tLTZBmp8oxUZUbqYEaqKjNVnZmqzUzVmWuYSXWZqbqsVF1WqjYrVZ2VqspKHcxMVWamyjNTZZmpfRlpvRlp0ow0aUaasq4u5PXXtOP4b0amh6wLKdgIBD7++OMX1r80NIajsYhRwxtqeEMNJWooGYKSIdhhrxK1q3pjdlVZOlOprSqSpEHYPACblHNgaHaANGMw2PtlZVV156WU7ksp0kspvZdS+i6nyC6nKC6nKNPYyjS2Ko2tTmNr0thaDlvHYes4yQYH1XGS9dSrOg5by2FrOGw1h63isJUctpLDVqSlyNJS+tJSelNTpKkp3akpnakpyurqYO+XCT1NA1A9Ct1WvxgUFATc3d0vsC93aShoMDGYj84h2KmBN2075MJ23nXtWrdfElZsKMUktQzAFvNoZG1IARtcDEgzBoNe9ZSVCyRJCZ1JCZ3JCV3JCdLkhF52goydIGMnKNgJSnbCIDtBzU5Qs1kaNktn7pm/Hw4KCcN65u+H7d6iYbPUbJaanTDITlCmJChSEmQpCbKUhN6UBCk7oYud0MlO6ExOkCQnyASCoFc9yXo6huD351Pc3d3BslXuugn8/z+yG0JMlwZ2a/FKze12WbtmXc0se1MDOzU4OMkQLqldBduwcYi0eNQ4QAE0+0HIOT2Bnuv7Skra4uPa4+Pa4+M64uM6WXFdrDgpK66XFSdjxclYcQrWGSXrzCDrjJp1Rs36FmtQSJjJnKCQsG/2H7K6Rc36Vs06M8g6o2SdUbDOyFhxsoS43oQ4aUJcV0JcZ0JcByuunRXXzoprY8X1XS8J9FxP1tM8ALXjcNkqd7Bslfv4bRM+5JgHGzIaqRb26GCPDvbqYK8e9urxq/dRtZZKZ1KKWjIjNZQQgxC2YOQAkMhlczHNGPR3X9NVwBNHH2+IOd4Yc7wl5njr6WPtp49JTjM7Y5ldsUxpLLM3ltkby+yPZcpjmYrYr5SxXyljv4r9y1+tuJAvx/7lr4rYr+SxzH7z06WxzK5Y5s1YZsdpZvvpY62nj7XEHG+KOd4Yc1wcfby7gOfvvoasp2kAjt02WfTcoA45XZgbM5o+PezTQ5keygxQpndV+2ZXnaW9s+gNri84xdNBqc5i6KZ5ke4eAtKMQd/nn+vM5QqPRdYfixQfi2w8Ftn0dUTz1xHtX0dITkR0nojoPBkhPRkhPRnRdzJCdjJCdjJCbu7pP31CRkPQOf2nT+TmB/eZn955MqLzRITkRET7iYjmExFNJyIaj0eKj0fWH48UHo/szOP6Pv+cYz1TJowOMeRYxhvCTUU0LUo07ccvPkoDRwR27ipg0oDj+KbJZXrxkekegj+sTw/79OIjtOCLEjOdG1xfEHzxhgVQXVowAKfydbCvPJoWwK3TwT6d+AgNf0x+FM03Td6Ho7Efn1T5TWJGpoY3zIDwuRhpOZrQ4wpAmjHos2alJDurOvLz2sjP6yI/F0V+Lv7qcONXh1u+OtwedVgSdVjCPNzFPNzFPNzDPNzLPNzLPCwjNebjPweFhOnMCQoJi/n4z9hd2IN7zE+XMA9Log63Rx1u/epw41eHG746LIr8vC7y89rIz6sjP+/IzvJZs3I6PfZHHTOdfgOUCaJpUaJ+PbSuINrx5x6cLIH9eshn0o4KbJ6oh/16KOIE+6bJ7UEMTpLYMyqIpgVw681X6znBwNa0hOsHgpMksIBJw2jiryaIpoFT+Rg7CdeXuKy3DEV5UTSfy3J8LkZeBlLBVmKVXkkafsx65tyQZgx6Lf5F9emT6ds2ZfhsyvLZlO2zKdfn1QLfV4t8Xynx9Sr186rw96rx9xL6e9X7ezX4ezVSywwKCgoJU5oTFBLGDAoi7m3w96r39xL6e9X4e1X4e5X6eZX4ehX5vlLg+2qez6vZPpuyfDZl+GxK37ap5vRJr8W/cKhnYspkO/D06u4wHhwVQLkByiuiaYFcsQHKrSuOoAWzO6DcAAuZNACAH0cuN8jZgfiNcoOcHQh8A4P9OPJ+A+w3QL7jIeqowPYBwckSeXIg5WHWI5+E6wdOFeB65MmBJJESrp+D99pO1jNE0dNCrMYr8Y9crKTomUNAmjHo+ciDVSePp73uydnsmb7ZM3OzZ87mjbwtG/lbPK5tWV/y5vryreurtq6v2bpeuHW9aOt6ManMwMCgkLA+aoJCwpiBgdgDRFvXC7eur9m6vmrr+vKt60veXH9ty3r+Fg/elo05mzdmbvZMf8OT84Zn2mbPqlPHPR95cDo95CVl0sAjPkLD5iywXxBNY4rkBijv4PoBQgCUV0w39hB6jgpEEbRThRXRtEAum0nz48jlHVy/QC6fQ9Hja75Mqjw50KLHlyPv18N+vfgoLTiZE00Dp/j4MIY9THSUBoD1GCk+SgtOltiFZV7k0sFeHezRQl4UbftleZcWEjMvbDW+zbwKhi/6KGEjttJuM/zMFSDNGPT89UPV0cfTNntd2eKVscUr602vnDdf4m19ib9147WtHiXbPMp9PKp8PGq3ewi3e4i2e4jNZb79dlBIWJc5VpeZb78t3u4h2u4h3O5Ru92jysej3MejZJvHta0e/K0beVtfynnzpaw3vTK2eF3Z4sXZ7FUdfdzz1w85ocfObEt8lAaOCsx6rOg4PfYcFUDxlWDziCWOoJ06yqT5ceTiK8F+HDn2lEJMlXlYwsc20uVCJs0vTS7XQ7lefJQGAAC+afJ+ih58RgkCuCIHowv+lGnHnm4tvv6FLzurLcvOhJ4G0kq7yF7vcmVeMwY9Fz9c++0pjr93hr93pr93zlveuQHevADvwgDv4gDv0gDv8gDvqre9a972Fga9Jgp6TRy0CWtQSJjEnKCQMGZwsNUt4qBNoqDXhEGv1bztXfW2d3mAd2mAd3GAd2GANy/AOzfAO+ct70x/7wx/b46/d+2ZU56LH3ZWD7a8nB91p+VYcKrQABUV0bRAboMBKqyL61EYYBGTFiGAig6uv1me+Eow9vSZ6iEPbMkd8uRAYB6uLEMU3g6uHzjFp45kluGtw3rs6dPBHh0+9nRrLcs92KIPZc5F0iNSQLHcvp67HIQ0Y9DrsUeE5+IyQ/2uhvrlhPrlhvrxQn35ob7Xdm4v2bWtbPe2it3bqnZvE763TfjeNtF728TmMnfuILYNMnfusHuL6D38iVW7t1Xs3la2e1vJrm3Xdm7nh/ryQn1zQ/1yQv2uhvplhvoJz8V5PfbIzPRgK+rYL5f4P9WPI7dWcqc5l1mPPCUQRDDxgaqQScPudaDHMm5Zjz24FfFRWnByB3YBQyNPDsRugXwmDTBF/R0Oxh6OvP9Oyz1kPTeoq13NpO3O+Kgjh/VyKHJgaNaANGNw0xOP1Sefz91Hz/1wR96HO/hhOwr37ijeu6NkX2j5vtCKfaFVH4UKP35X+PG7YkawmBHcxAhudtAmm6vYU7CnV30UWrEvtHxfaMm+0OK9Owr37uCH7cj7cEfuhzty99Hrk89veuIx5/RoiKVmXE8BkwbAKb4gmsYUFTJpAFv6memcixlNA6cKMQqYoYpoWiC3kGNPT0U0Ddjo0UM+k2aeVeGLMuZ50Cm+5RbzIITfTlnF4+NrYdarcr3m5Z4eHZRqYbcG31tC3u5M1tNgowfr3QMSk/S8tWKJkHOl+LODhfv/t3D//5Yc2FdyYF/5gX0Vf9tbc2iv8NDe+kN7xeF7xOF7mg/vaf5sT+tne9octNXmavNne5oP78GeXn9or/DQ3ppDeyv+trf8wD7sjbA3Lf7soJBz5a0VS7RjsFE5rR7yalcvtskEWC81kxZfZrbO5Ws9bOBrTDZLyuKjNODL4WJLNuRVfft6qIvG/cT6uePlHvM6vOgo7VS+Xp4UCAAAn5dDqRZKy6JpIDixzeH2HmJ13bK4Q9LjCNAsBiHNGIzcvSsx6sumH9mVX0eWR/6j/OjBqqMHa/95UBh5UPzlQfGXB5q+PNDMPNDK3N9+bH/7sU87Z9L2Y5+2H9vfytzfzDzQ9OUB8ZcHxF8eFEYerP3nwaqjB8uPHiyP/Efl15FNP7ITo76M3L0L00MAstneQ11p50XRQAC3jph5CaJpUcSoI2cH4ss9zqxz4dt7rFemYL8Biq5Y1rmIdXLck3lZGAB8TZu61ZG6Qci8jceyQYi6VoVty85n0nzT5NjPPr34CO1UPmngEV4OBgHc6jauDwhmtZpXuEgbe7ADgBoVFj31Cgqd+rmbi3UOwRs9g36r3c5+9g9hTra0MF/Ky5bysvt42TJetqwgW8HPUhZmKQuzBguzVIVZ6plXVZg1WIi/iIKfJSvIlvGy+3jZ2BtJC/OFOdlnP/uH32o3Se/gzSFcDwaIsqdCorbs4aLMvIiln2m2FgZwRXa2BFrWkwuYNJtt0JZNNUcE+JqdeWCw2UIo4foBcERAbP0jbU4kDzBRIpke5jNpIEpkvT2QtGX5i3Jit4b8InVzEQDgszLYRd5Toba/pYcYeOrlsM5Gz1zNxdqUk72q0W/e37XH3c1v+dN+y5/2X/FswMrfBrotefu5pUHPLX1n1bLg1ctD1qx4d+2K0LUrQ9eu3In1+ZU7nzdfWLty59qVO9ZSrmIPfnftipA1K4JXL39n1bKg55a+/dzSQLclASt/67/iWezt9ri7ffP+rj71aJtykqCDdewWdT9Xh9p6+LEGND/7rai7rpyv8/u2bHeyEjtNse2EHaTthNiRk5ZVLYyOHIrk+MBTZ66TgGZkqHMIasbuttq7600NtKJjrQc7PAMHNAS7zCPQrA3dm12ed4Sig1JySXvaie3LllGHdIRG0wBlx5aFSL9Fj31Ac70uNqMDFInafvx3WYqeNtLxPZRlIGIc0tr5JO7DAy1mcPCQ+eAeDE2nvYN7LHMr806JevNicp0c1vWbOy2gOZmL3W+ASHpumVoH8WMLb6jwTWS4ITMj8jFiLjm86y6O7bLtjI42tBxYqLLdKmikrJmbZ1VCOazrh0Jz5weQ+H4CRNGDHQzfRjJ0Q01h1Elguk8OJx3Cj7a27h0PkbY55LmNfGYIsWKlhGKlUaQwihTGevJgI4dCORT2w1qSHqFzg9C/01zMomfslql5ALYMWE7BIZ9NgUm6cZ8dxG7/yPZBO7V7+kQL9eh3bA5FnI4jxtAojHX9xjq5USg31vUbLWJksLYfr9DW0MKYi1H0NJHObyIzIgYk67Nz7tGpM3YFkI8+nv5cLfK/n/ILtayEG0VyYx3OxVgrM7ffWItfhXj77RtyCpA9Q/9agKh6lLDJvBmx2UrSgAtO1ZvJ2XoONThgYQeHzUHslo9NTloKlhuFcqOw3yiUGWvMrZYZq2XGmj7LLTUyWGNjyHoQks/vXGxWgO7GEEUPcSvGSDkMVSN41Y6rmt8O2u2wnQ44WQNUWmrEqjAYFQaj3F4VluI7iZUGqBx2qvYnYMRO7f8zXVZnfvPKYef0NCqhchgmXsqiM8JRUbEmXsqyAuRQj2oE0hnhJhQUc+iMcNUI0oMyqyA9KLMP0oMy+yA9KLMP0oMy+yA9KLMP0oMy+9xBT5N5K3MT0oNiE0wPGQnSg+JsptVz20TscWwcgKpRpAeFEjojXDUKG+2eDTh220TefY30oFgF00P+5jmKniakB8VxrPTYjD2kI2+QHhSrYHrISChnA5IP+FIjPSjU0Bnh6lHKUYHjZD3kPxuA9KBYBdNDRkLRQz7ceAjpQaGGzggfGqUck07RQ/67E0NjSA8KJXRG+NAY5Y+TWPRM3DYRp9RI1FCD9KBQQ2eEa8YgGQlFD/ksO6QHxSqYHjKSCcq3P2Ffsq+BnRqoHUd6UCihM8K145CMZGKKpId8ZrgO6UGhhs4I141Tvj7AomdyykT+GgOkB8UqmB4ykkmyHvI3oeiRHhRq6Ixw/Tjl63Ioesjfv2SYQHpQKKEzwg0T+DeAYbXouTVlMn/LJOzXw2GkB4UaOiN8eIL0pZQGeMuix2hSDEOiI5NIDwoldEb4yCQkI7llJOkhn6+P9KBYBdNDRmLRc9toIn+pwijSg0INnRE+Okn55o3bZD3qUUh07BbSg0IJnRE+dguSkVj0TBlN5K/3HUd6UKihM8LHb1G+A3qKrIf87c5ID4pVMD1kJBQ9+nFIdOI20oNCCZ0RPnEbkpGQ9ECTYQISvVd6jEZja1tbe1u7Wq2e/3dHmSaYHjKSKWjWY4Sm4QlIdPIe6ZHL+7ncfH5BWVVVNYRw/icAxVHojPDJ25CMxAjvp33sw8PDGZnZxcV5paWcq1d5EolknicAZZpMt4997JaJ/N2tg/fiTOTq6qor6cW8q3+q5D3N5/Oyc/jj4xPzPA0ojkJnhA+OUL7gl3IeO/lbgOdfz8CAMj2dm57Oaa14RNaxqJDjx+XV1tbWzuc0oEwTTA8ZiUM9A/Orx2g0lpSU5OSU5l4OMpmAyQQaSn5ZxLuQnXNNpVLN22SgTBM6I3zgjnqwryufZz0dHR1Xrxbl5v5wU/gzTI/JCPg/vFpW3lpSUuqCxefcMOAZ0zHXr2oymTpiPJ1/ZZdNhSuC6SF/m721HtG90DMxMX71KresrLmQ42MyAdM4MI0DkxE0Fv5nTRmLl18p65PN+sVzw2z+UmpY7uw+t9ww7Ll4rJzgVxeGHpGtHtE90iMSifLzK68Xn+2o/tm5OPcDn24+eOC/j3z+Rmf9w+WcFyqqmq5duz41NXV3b5IbRv7kZ/e5UZ7UEeMJAOn6LD3+y+oRkfWM3iM9Go0mN5dfV19fkfvKrRHwpz/t2bPniw/3HHrvvQPlec/Iah4W5P5DUNXS3Nxyd+8zF3oo40puGAgLs7xoR4znXXK832OrZ/Te6oEQVlRUtLT2VpaflDYtmhz+6d8O7tq799M9ez6iv/fHirxnTZqflyQ/p5Ar+YWlw8Mjd/FW9vTEhJHmZcTteOx9rB0xnubH5oaBsFzLdeKS5SbKW5BejTovpQxelJmriaKLNNu8R+buOz0ymazoWmVVtaCt9L9MRtrUyAMHPg3cuSss5N1dfv5vVef9l2nwUXnFQ6VpHyoHR6urq+/irWz1ANIHj30a5I+FBIUU4lb85YgRh3h5ih67b2F52dwwQg/pIulR5Bfz9PS0ncr5zEz0DLtcz9TUVF5evnLAUJYXNixbZBr99YT6oU/+/IbP9pA3tmx/7TXv6pwnTH2/mWz7eVnSU5LGa4Kq+rvY+TXNnMtMwGYB286HhD+WUINfsLyc1dhj+xbkFyWuWoswv4r5v7lhnjEduWGUt57v0BnhA8PO6JHPh56WlpbSsvrq6qybFY+bdL8y6Z6cUD3E2PuSx8bNHhtffvWVl2pzHjXdfHi86T9l+T8tZm8b0oyVlQmMRuOs3s05PXf+XMxzLNIchXJ9zvSQdZLc5N4rPGY98un1yOdDz/DwcG4eXzmgLc54y6R72DT4/0zqpyaUD+95b7Xb7zeuW++15Y1XGvMeMd1YNCp8YLwW1Ccvqso9WVvX3t3dPas3dEKP9WzFdsZlfqGwMMpchnx9ej2Ut+iI8XQ85yJp9PS0LFMR86/5j0WP3K4eueVvLLpaT0lJaXOLrLIsobt8sUn1hFH2lEn2xGjbI0E+j/78wceefuZ3r3i9ILrywO1aoCsDuutAlw9yY5cqBzVF165PTk7O/A2d0WNeDbdakrZ9Jcq91Ot30ENdLo8Jm36pmZgk/PqMNibNdTA99WYkIrmNHuJPZrpUj1qtzs0ram9vK7vyuql/0YTkoZGmn4w3AW01eMMTAAAW/exXL210q/uBNloMhnhgKAfockD92UWlaX+vFd9sa21z0YShTBNCD/FHVSl66udFz9TUFI9X0H6jvyBtj7r6JyN1QFcDNBVguAoYKoDfKwAA8PiTS4LeeqUplTZSAIaugqEsoM4EQ+mAd+KxWgG/oLBkeHjYFdOGMk2s9NTfEz1dXV053GIej9OQ/vBYHdBWA20F0JQDgwCMVQO6DwDgP5793fqdwZubL9FGeGAoE6gzgIoD1Bxw47ufcv/Pv6JWUllZ6YppQ5kmM9CjdI2eiYmJq9ncckFDfkrA4PWfaKuARgA05UBTCjTXga4ENFwE2ccAPxbUxIP+NDCUBVTpYJADBlOB8kcwdAmUnliUn3Yqj182MDAw55OHMk3ojHDlHfVgfzzcRXoqK6vyC2u5madb0hfpqoCmDHczVASG+MDAB3WJ4PQn4OieRblfg5EcoEoDg6lg8BJQ/AAUbKBIBp3nfpp1ckOpoKm4uGTOJw9lmmB6yH9b3lpPnSv16PX6jMzcvDweP+V1VfFPNOVAcx1oioGmCAwVAG0BGCkCf9sJAHjgsafcP9y5sSMJaDhg8BJQ/ggUbLyqH4DgxKKsxIO5fEFXV9fcTiHKNCHrqbPVU+diPYWFRTl55dlpf2/PXDRc9YBOsEhX9oDu+k+0JTRdIRgpAqMlIPi/AQAPrfPc/Af6uw2sRcPZQJX+HyrOA4NpiwbTFqnSHlBzFvUk/TT72NJCfjE3jz8xgQ5dnadY6ambTz1KpSI9PTsr40JZ2hvwxtKJJrcJ8cqJ+hUTdcvHhb+bqF06UbPEVP9sddLTvq//Lvgdn4SoV9W8346XrhwucjMU/X64+PfDxW7DxW4jxW6TpSsazj+Z+d2HV3OKGxoa53AiUaaJ03r6515PQQE/j1eSe3m/kP1sbfLy2ovLa88vr038nblLaxKX1CQuqU9cUn5uCT/mGcG5Z6vjl1bFL6/6fnnV98ur4pdXm1sTv1yYuKTw/zwKcjKzsvO0Wt0cTieKo+B6+qfR0w/r+qHQBXquZudU1wgbRdVNopomUW2zqK6lob61UXRT0trXfXNQIdeoBrVDg9ohlW5IpdOotEMq7ZBqaFCh6O9TyPq6Je3tzQ2tjaKWhvpmUV1TfW2zqE5cLyoqKrm7fe8ozgbTI+zHkdjoMdNxhR4+n3/+/IWzZ787ezb+7Nn4s+fiz33H+i6eFc9KZLEushIuJlxMungx+eLF5ItJ7KQk9sUkNnY18WJSQuLFhIQLrITE7+MTvvs+4dx3rLPn4s+diz937rsff/xRKpXO4XSiOAqhhwBkrUfoMj0mk6nBNZnbiURxFLIeoa0eoYv1oPxLx0qPEOlBcT7O6qlFelBsgumpnV5PLdKDYi+EnlpHemoJPQakB4USOiNcabAIsdZD3FErgwqkB4UaOiNcYYC1Mgsge3pksAbpQbEJpqdGZgFkR08NrseI9KCQQ2eEKwxGjIc9PTKcTo3MiPSgWMWsxwxIRtVD0KlGelBsgumpllkAWfSM4HqM1UgPir0QeghAI1Q9+H3VMqMc6UGhhs4IlxssQmpkRvt6qvqQHhTrYHqq+hzoIeggPSi2IfQQgKz1YPchPSi2IevBAFH0EHdUIj0oNsH0VPZZAJH0TJoIOpV9Rrke6UGhhM4Il+txHrieSaoe7L7KXmM/0oNCDZ0R3q83VvZaAFH0VJr1VCA9KDbB9FSY9VTa1VPRi/Sg2AmhhwBkrQe7D+lBsQ1ZDwaIooe4Q4D0oNgE0yPotQCy1iPA2oP0oFgH19ODI3Ggp8dYjvSg2ATTU96DA7LWg9HB9MiQHhRq6IxwGaGnxygg6xk26ynvMZYhPSg2wfSU9ViGn2GKHjMdpAfFNoQeAhBFD0EH6UGxDVkPBsieHqmxVIr0oFgH01MqNZZJ7ekh6JRKjX1IDwo1dEZ4nx7ngQGy1lOK9KA4CFlPqa0e4o7rUmOfzkhnhOtQUMyhM8L7dMbrUgsgO3quS43Xu5EeFOvgerotgKz1YHRKkB4Um2B6SrotgCh6CDol3cZepAeFGjojvFeH88AAUfWY6SA9KLYh68EA2ddTjPSg2ATTU+xID0GnuAvpQbEOrqfLAsiixzBpIuhcQ3pQbILpudZlAWQg68HoID0odkPR02UstqvnGtKDYi+Enmv29ZjpFCE9KDbB9BR1WQCR9EyYCDpFXcZeLdKDQgmdEd6rxXlgVAwTVD3YfUU3jT1IDwo1dEZ4j9ZYdNMCyJ6emwtaz4VrzSExBS8fyVpQDYkpuHCtefrfjEXPTXt6iIGncKHqSSxsWvdN2fNVwx4tcEH1+arhdd+UJRY2TfPLwfQU3rQMPzZ6bhoLF7CeoOj8F6pHPu6eeutXD10dvLVwfsY/9YsXqkeCovOn+eUQeghAVD1mOgtWz8tHsjxaoP8vHxoanVxQzRq85dECXz6SNc0vh6wHA0TRQ9zBX9h6sgYm1SMLq/6/fNBJPXzSEGNHD3/B6/H/5YP3/OOc52YNTDqvh38HPZ0LWk/WwKR6ZGJB1e9hp8eeTsd6MDoLW48x9MnFqvMY4CsAAAS7SURBVOGJBdXMgQmPFqOzesyAKHr4JD3SBawnc2CePrMf3wfvpU/zgNZIj+kfMGcNfXKxM3qkJD18O3o6jfxOY8EC1rOhxfju44sHDONz3qpjG4E59CvjA1c+AKTQr4wPGMYHxCfWgWmy8Z/iuZ+wAcN4umJig3N6CjotgCx69BMmfifSk7WhxZiuGFcaXNTmCI8/phjGlaIT697PxG/k/BEQl0Un1nmcqHTw9JT3N0aIXDJhIY//ZsZ6Oo16Wz0FC15PyOO/cZUe0Qn6sWalIZPu8Ue6h/XAsu5Ys8vU3qHpinHn9RQ40lOA9DQbryjGFfoxVzTlfRzKbk5zxIaNEaIxhejEuvczFfqxCubGdczmCuZGa1NWwpjNrpiw4Md/s6F5BnoKbPUUID1Hsl5ovB225klxv27um/w+AOCdZF3cbvBOcv1Bd2sZayPqrZ8iOLZ2d5pLJobaxC79C423Z6SnwJGe/IWtJ7FL74JPqP6g+/vv7Cbr2XBQYPGRHbGB0JMdseGd5HnVE7bmSSf15E+vJ39h63m+4daeVU/U92ld0W93gaAk7GfdAZuxZ82Ruvo+bX1f3QH3DQfKtfV92vryqDXkR7hHZblmwliduucbbjmpJx/psRtMT3yHTtirdUW/2QkCk7Tf7ASBR6LWuEdl9GqFpVFrdl4W9mozjmxYc6RO2KsVJv0BABCYpBWS7nV1P3juiTnQk4/0NNz64LknXKcHH2bczVas9VwOBBv2l14OBGDNkbp50xPfMbOxJ99WTz5Zj2aB6lnbcOucRFstHXJFY3aCgAtD1dLaT1/8Qwx24/Wo1TujPn0RAAACLhAPwB9sJztTXTFh//P7x9Y6o0djJCNxoKdj4epZI771B7dHK7rVC6pnbwytETunpwPpcRBMz9kbQ/f845zn/sHt0TnS07Gw9YhufbpicflN1YJqXJt6jchpPR2O9HQsdD2rRbe+bVVf7xhcUP3L8sWrZ6Snw1ZPh+W+7gWs5y/LF9/zj3Oe+22r2hk93WQ9HQ708Ba0nsnYFlWxZGBB9c/LfrNaNOmMHh7S4yhB0flu5bqU1Y+cbh489PzTC+dncMOoW7nujmfk3FkPbwHrSSxsco8tdRPoV9VPLKi6CfTusaV3PBsQ08NzpIe3sPXodLp4fmPgSd49PzV4nht4khfPb5z+N0PWw7PVw0N6UBzHSg8P6UFxPkgPyuyD9KDMPkgPyuyD9KDMPkgPyuyD9KDMPkgPyuyD9KDMPkgPyuyD9KDMPkgPyuyD9KDMPjPQI1HDM0mZdEY4KirWM0mZEjV0Sk+NDErUsFtjREXFKlHDGpk9Pe7u7t9fSBH0UMYlVNRpKugxfn8hxd3dHXzwwQduq1/s0d77aUL9V2mP1ui2+kUfHx+wf//+ZavcWRdSmgagq98V9d+gTQOQdSFl2Sr30NBQcOrUqY8++ujxp55hXUjp0Roreu/99KHenxX0Gnu0RtaFlMefeiYwMHD//v0gPj6eyWR+9NFHy1a5u61+8fvzKfoJEyqqbb8/n+K2+sVlq9wDAwM/+eSTL774Aly6dOns2bNMJnPfvn07duxYtsodFdVRt27dGhIS8te//vWLL774+uuv/z/x3leF5fFbigAAAABJRU5ErkJggg==" alt="" />

代码片段二:

JavaScript学习总结(十六)——Javascript闭包(Closure)
 1 var name = "The Window";
2   var object = {
3     name : "My Object",
4     getNameFunc : function(){
5       var that = this;
6       return function(){
7         return that.name;
8       };
9     }
10   };
11   alert(object.getNameFunc()());
JavaScript学习总结(十六)——Javascript闭包(Closure)

运行结果:

  aaarticlea/png;base64,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" alt="" />

下面给代码加上注释,分析上述两个代码片段的运行结果:

代码片段一:

分析如下:

JavaScript学习总结(十六)——Javascript闭包(Closure)
 1     /*
2 在JavaScript中,我们声明的JavaScript全局对象、全局函数以及全局变量均自动成为window对象的成员。
3 全局变量是window对象的属性。
4 全局函数是window对象的方法。
5 */
6 var name = "The Window";//声明一个全局变量name,此时这个全局变量name就自动成为了window对象的一个属性
7 //证明:
8 alert("window.name:"+window.name);//能用window.name(对象名.属性名)的形式去访问name,那么就证明了这个全局变量name就自动成为了window对象的一个属性
9 //声明全局对象object,此时这个全局变量object就自动成为了window对象的一个属性
10 var object = {
11  name : "My Object",//object对象的属性name
12     getNameFunc : function(){//object对象的getNameFunc函数
13 //object对象的getNameFunc方法的返回值是一个匿名函数
14       return function(){
15 //此时这个this指的是哪个对象呢,指的是window对象,哪个对象调用this所在的函数,this指的就是哪个对象。
16 //证明匿名函数里面的this代表的是window对象而不是object
17 alert("this==object的结果是:"+(this==object));
18 alert("this==window的结果是:"+(this==window));
19         return this.name;//既然this代表的是window对象,那么this.name访问的自然就是window对象的名字"The Window"
20       };
21     }
22 };
23 //证明:全局对象object是window对象的一个属性
24 alert("window.object:"+window.object);
25 alert("window.object.name:"+window.object.name);
26 /*
27 调用完getNameFunc方法后,返回一个匿名方法,
28 此时retFn代表的就是匿名方法,现在相当于给匿名方法起了一个名字叫retFn,
29 此时的retFn函数自动成为了window对象的一个函数
30 */
31 var retFn = object.getNameFunc();
32 alert(retFn());//调用返回的匿名方法,那么是谁在调用这个匿名方法呢?是window对象
33 //证明:retFn函数是window对象的一个函数
34 alert("window.retFn():"+window.retFn());//能用window.retFn()(对象名.方法名)的形式去调用retFn方法,那么就证明了retFn函数是window对象的一个函数
JavaScript学习总结(十六)——Javascript闭包(Closure)

代码片段二:

分析如下:

JavaScript学习总结(十六)——Javascript闭包(Closure)
 1     var name = "The Window";//全局变量name
2 //全局对象object
3 var object = {
4     name : "My Object",
5
6     getNameFunc : function(){
7 /*
8 此时这个this代表的是哪个对象呢,this此时代表的是object对象,哪个对象调用this所在的函数,this指的就是哪个对象
9 执行完that = this后,此时that也代表object对象
10 */
11 var that = this;//that是在getNameFunc函数里面声明的一个局部变量
12 //证明getNameFunc函数里面的this代表的是object对象而不是window
13 alert("this==object的结果是:"+(this==object));
14 alert("this==window的结果是:"+(this==window));
15 //证明that代表的是object对象
16 alert("that==object的结果是:"+(that==object));
17       return function(){
18 /*that是在getNameFunc函数里面声明的一个局部变量,
19 正常情况下getNameFunc函数调用完成后,that这个局部变量就会被JavaScript的GC回收,释放掉that这个局部变量所占用的内存空间,
20 但是现在that却能一直正常使用,没有被回收,
21 原因就在于getNameFunc是这个匿名函数的父函数,而getNameFunc函数调用完后会将这个匿名函数返回并被赋给了一个全局变量retFn,这导致匿名函数始终在内存中,
22 而匿名函数的存在依赖于getNameFunc函数,因此getNameFunc函数也始终在内存中,不会在调用结束后,被垃圾回收机制(garbage collection)回收。
23 既然getNameFunc函数始终在内存中,那么在getNameFunc函数内部声明的that局部变量在内存中也会一直存在,既然存在,那么当然可以继续使用了。
24 */
25         return that.name;//that代表的是object对象,那么that.name访问的自然就是object对象的名字"My Object"
26       };
27
28     }
29
30   };
31 var retFn = object.getNameFunc();//调用完getNameFunc方法后,返回一个匿名方法,此时retFn代表的就是匿名方法,现在相当于给匿名方法起了一个名字叫retFn
32   alert(retFn());
JavaScript学习总结(十六)——Javascript闭包(Closure)

最后也附上一个我以前学习JavaScript闭包时写的一个例子:

JavaScript学习总结(十六)——Javascript闭包(Closure)
 1 <script type="text/javascript">
2 function A(){
3 var i = 0;//声明在A函数内部的局部变量i
4 //声明在A函数的内部的子函数b
5 function b(){
6 alert("i = "+(++i));//在子函数b内部访问声明在A函数内部的局部变量i
7 }
8 return b;//返回b这个函数的地址
9 }
10 /*
11 在执行完var c = A()后,变量c实际上是指向了函数b,b中用到了变量i,
12 再执行c()后会弹出一个窗口显示i的值(第一次为1),
13 这段代码其实就是创建了一个闭包,
14 因为函数a外的变量c引用了函数a内部的函数b
15 也就是说:当函数a的内部函数b被函数a外的一个变量引用的时候,
16 就创建了一个所谓的"闭包"
17 闭包的作用就是在a执行完并返回后,
18 闭包使得JavaScript的垃圾回收机制GC不会收回a所占用的资源,
19 因为a的内部函数b的执行需要依赖a中的变量
20 */
21 A();//此时内存中肯定会有i的空间,当执行完A()之后,GC就会回收为i分配的内存空间
22 var c = A();//这种用法,GC不会把i当成垃圾处理掉
23 c();//相当于调用b(),结果是:i=1
24 c();//结果是:i=2
25 c();//结果是:i=3
26 </script>
JavaScript学习总结(十六)——Javascript闭包(Closure)

运行结果:

  aaarticlea/png;base64,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" alt="" />aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJoAAAC5CAIAAABfpbHYAAAgAElEQVR4nO3de1RTZ7438CftqTPTc/qe1TmdtnO6Ti9aL7Re2iIDSFvLqVpFQJCBipqe1amirbSnrTq1oSoUNVIQZY6MF4IXCFZKhCAEAgFBINwh4Y7hFiCEkIRcCJAg5Mn7x052di4gKGCC+7e+yxWy9yYP+exnZ1+ebEFpaWlmZub169ejo6OPHDmybNVaNMtXOyFZseYvT0LQvxf7JqBZutLRBhMcHHz8+PELFy7cuHEjIyMDZGRkUCiUqKio5aud3l6zNu7ajdFx3UPm/kLO+ATc9cnHE7ZRuz75eFwLL19Nclj13tKVjgcPHjx79mxCQgK4du1aVFTUK68tuZJ4UzoCO2SwSWxMMxrJVMEuMutpfLgMTJnJF2nApB6JCNaLoHwUBm78SMzl8m/TezPogky6IJMuzKSLMumizDRJZpo0M02WmSbPTFNkpikybw1l3lJl3hqeJCqLH4cYtxSMWwpGmpyRJmOkSRlpEkaaiJEmYtCFDLqAQRcw6L2ZdH4GXVzHDdz4kVwN2wehdARSrt946ZXXEFEQGRn51rvOVxNv9g1hCCWwWQJbJLBFAlvRSCeJZK7S8nARG9NsEexUZH7jemm2Dpm6ytUw4OOPRNU1/NQUfmpKT2pKb2qKIC1ZmJYsSksWpyVL6MlSerKcnqwwZGgmUdCTFenJivRkeXqyND1Zkp4spieL6MlCerKAntybltKTlsJPS+GnpYhqagI+/kiu1rdNoISUa0lIHwUHDhx412nd4Khe0Ugohfek8J4U8qSQNwh5g7DNWnjSucq9h4vEmMnWEuw86ILoqtliuslBXeVq6O/+vqiiov1mUtfNJP7NpJ6bSb2/JQl+S+r/LUmUQhWlUCUpVGkKVZZCldOoChpVQUscmiQKWqLS9EcFjSqnUWU0qpRGldCoIhpVRKP2pyQJUpJ6U5J6kpP4yUldyUntyUmiigp/9/dRzoYBKB2BDqve8/PzA46Ojteov3XKTBQRQgSsfRC2y2CHZQbnMO2PHKsrXxv2j7KYmTdoXI2MrgZUhRr6fegqYLN5ifHtCfHtifGdifH8xPgearyAGi+gxvdT40XUeDE1XkqNl1IpMipFYcj5H0L8AoKQnP8hxOozMipFSqVIqfFiarwoKb4/KV6QFC9Iiu9JiudT4zup8e3U+PbEeF5ivIDN9vvQFcvZNggvX01ydHQES1c6KjSG1RYDiRJ2ymCXXB++IV1zls6HjuyR0iGD7TIMrSlqkxgq1NDX1an3bmELJbaVEtsaF9sWF9tOie2kxPIpsT2UWAElVkCJ7aecF1HOiynnpZTzUsr/IfELCNIZyi8g6B8Hj5g9I6X8n5RyXkw5L6Kc76ecF1BiBfGxPfGx/PjYzvjY9vjYNuRFKbEtlNjeu4W+rk5YzsYBKFfDpSsdwdKVjupxnb5TGtZcrCJfDrsVsFsBexSwRwl7lPofbShyY/gzDLpIlwx2yY2u2M6KiCrU0NtxdVcukxsdUX82ov5sRNPZiOZzp1vPneadI7fHkDtjyPwYck8MuSeG3BdDFsaQ+2NOimJOimJOxvzv92Z+2Mcx//t9f8xJYQy5z7A4P4bcGUPuiCG3nSO3njvdfO5009mIhrMR9WcjuNERXblMb8fVWM6GATg6rjNy3jPtlJ0IpEGxVwl7lVCghIIhKFDOVXofLgpjeh4i9xie4AzTsFrwDVuIDkNPRbupUg093327I5tRHRFeGxHOjQivjwhv+CWs8Zew1l/CeJFh7ZFh7VFh/KgwflRYb1SYICpMEBUmNOTc199iFVHLc19/KzTM3GtYvD0qrD0yjBcZ1hoZ1hgZ1hAZVh8Rzo0Ir40Ir44Ib89meL7z9uScEzrEEu2Uxh6JQpZGE05xpvTghhLAcbaVSblkApi8PFOEAiX3+FSz6GfrVcJeJfc4wf86z2B5j+EJ/K/fM4rWpPgDcCZHAXtLogk+jBoF7FVwjxP08+ScInimCHsVyILWa2uK0CgqM4oq1XDr6hVtGemV4Uerw4/WhB/lhB/lngypPxnSdDKk9VQI71QIjxzSSQ7pJId0k0N6yCE95BABJmcPfOMXEKQwlF9A0NkD3yCTkJm7DYvzyCG8UyGtp0KaT4bUnwypOxnCCT9aE360KvxoRfjRtox0j9UrpuK03i8Nln1DUMCOJpzi9CmhedjRk0P4J/JgnxKyyIRQtsWCStinhByav2eK0Nqa4Z/As7bSsKMJPoxaw4+1NH9guZLxGF7AP4EHc8kEZF3R/zZ2NAGcyTXOo3+s7+JKvffW34T6Pioz6aNKDXR74d8qz0Wlblmf5rE+3WN9hsf6bI8Pcz0/zPf8oNDTrcjLrdTbrdLbrdrbrdbbrc7brd40ZD8/v4AgkaH8AoLIfn7o1Dpvt1pvt2pvt0pvt1JvtyIvt0JPt3zPD3I9P8z2+DDDY326x/o0j/WpW9ZXnotye+HfJuXUTOgsu2aP4gE9JpQNhUNQWBpN8GVwh6DQPNwwgj+1DQqHYB6ZAADwogmFQ0Kqr/5J4ZCQ6gs8ff29aMK+Idg3BFmTd+JQtuUM/ok8YaKvyWzm2wa9GcIpTPTFrCI8htfkvdNkkyszcq57/g8VZyJoG1xpG11TN7rSN7pmbnRhbnJhbXK+s8mp8BOnks1O5ZudKjc7VW924mx24mJC9vX1CwjqNS2/gCCyry8yA2ezU/Vmp8rNTuWbnUo2OxV+4nRnkxNrkzNzk0vmBhf6BtfUja60ja4pG1zLz0S4Pv+HqTixuz+Yrsk9TkA2hrCPHU0gc4RDUNjG8AIoCRSWTtU7Uc5QNieMcCavNJrgy6CSCV40obCN4eXLYNFMOD0NjzERJvoaOT1pwj4l7FNyQwn+ibRoAjjD0nd0ZDZOKAEA860IN5Sg304Yw2N4GZbVf3IrYA/SO1OE3Yado07MbpFSA9f98dnK6AjaBrfUTW70TW7pn7hlfrKOuXkda7PLnc3OhVucSzycyz2cq7Y6V2915mx15hpC3r7dLyCo01Bmj8nbt3O3OnO2Oldvda7a6lzu4Vzi4Vy4xfnOZmfWZhfm5nWZn6xL/8QtbZPbrU1utA1uFdERrn98dhqcVra03FACCGUbOM0sp907Q9mQe8vf0Ke5YYQzoWSCF03IveXvRRMii+QhzIaOq+/9mMd5ZIJXilCohEIlN5QAAACeKcI+E079th34MDiT9D/9IlP2TixnB5bzheeqz5+5tc2dvs2dvs0908c9y9ed6eOe5+Ne4ONe5ONe4uNevt29crt7td9HHL+PuH7rkfgFBPEM5RcQRPb3N3uG67ee4/dRtd9Hldvdy7e7l/i4F/m4F/i45/m4M33cs3zcM7e5073d07zdad7uVefPuL7w3HQ5kZ2gnFMP2jkBZ/KGYH9pNMGXUTcE+82j5+wfgvlkQhgb9rcxvA2rAveWP7L4TDmxXT+xTZjoCwwd2tiJ9WljeIEzLNO+btwAYKdiOmgOmbA1RditgF0o5yBsN3C+/+LzNZdi0wO9MgK9MgO9sgK9mIGerB2ed3ZuLdy1pXj3ltLdW8p3b6n+bEv1Z1s4n23hGkLeGYieNCDvDLT6DOcz/YLlu7eU7t5SvHtL4a4td3ZuZe3wZO7wzNrhlbnD6/YOL/oOr+qLsW4vPj8zTuT4BPk70XXZiyY0Z3vQxtbAKUzyBWFkfVfOIxOQqZNwGnu2ee/U43FDCf6JbcgDRFGY6Is8A1lkAiBz+tom6Z1Gzsl7p0K/K2TklEKlBq5/+UUO9Wr2l8TsvYHZewNZ+wLz9gcW7Ass3L+jZP+O0v07yr/aUX3g0+oDn3KD/bnB/g3B/o2TpMHiR2QRZPHyr3aU7t9Rsn9H4f4dBfsC8/YFsoICs/cEZu0JzNpPrE28uv7lF6fHKUN3hfScuWQCAGdY7GgCmZNHJgDkE3SmG1tyNAGcyUNsENTSaIIvI49mjbM0mgAsOJWQRSYYtq6Yj0P9pyD6jKGbYj4d0WB+g0nQ/dsewwGoyZ6tFPKkUKmG25Yvrrl1q/Do4fxDX+Yd+rLw8P7Cw/tLDu0v/fu+yiP7qo/sqz2yj0vayyXtbQzZ2/jT3uaf9rZMkmaLHxt/2tsYshdZvPbIvuoj+yqP7Cv9+76SQ/sLD+0vPLQ/7+CXeQe/LPjpcDXt1rbli+WjsF40JSd257YHOXQD5rtCmI/Ame3Zepp3LP1+qcXuDzeUADxpDOTTEXuEY53TfH/HcFgy+WenQD8zJ5RwhqXUN+NYCexRwJ6SaALwv9pqwskzcJ4g7rpCPtF4k1oeGV5y4seSsMPlYYerfj5cHX6Ye+Iw98ShhhOHGsmHmskHW08fbD39XftM0nr6u9bTB5vJBxvJhxpOHOKeOMQ9cbg6/HDVz4fLQw+XhB4uCf+x7Jfwhl+pV06dCN+9C+FERS2OO02PVZinCMCHUYNub9nRhFNovxRSffWfndPZs9Ufd5rvssK+Ici5ZdyzRQ9F9MCGHRwA9AcYpqcjTA9MDceaxgNTzJEl9oSGZ4oQczxqcuhZk+IPfBhV9xhbgf/VVv2WFj2N0KOA7T1i71UOF376sZqRwc/P4edk8HMyepkZAmaGIDejn5UuyksX5aWL89IleenSmUeSly7O0/+Sfla6IDdDwMzoZWbwkeTlVGdmXPjpR69VDrweccegnhMRNTnJx5Maz9aabG/RT9ApTiP4MDhWThHouwvyJlqcLTIeMh5n6/efDV3H4tQBj+EFwHE2eloAc54B2wVPcQRKmEMmgFOcXiXs5TE8wZkc48kjfR1joycIhQmmh60AgKMl0Oo5hHsS2CKBbeIxweDIPz7ftdfRwWvZq17LXvVe/rrPijd8HRZvf3uJ39tL/rpyqf+qZQGrl3+6ZvmONSt2rFmxE8k7K3a+Y3iwZsXONSsC15j8iMz86ZrlAauX+69a9teVS/3eXrL97SW+Dot9Vrzhvfx15OX2Ojr84/NdvdKRFtEYaolk9L7pOds2qXkHNRedn3Owpqdhp5+HOWFrCPqpiV4sMuuarRLYIoZNYtglgwo1VIxC+SiUq6F8FMpmHvmjpUMGzSzNOZGrY3rRQdhp6KMPjfp4zqdbxPLyyxTzWO+XBstmMWxCR5+g72M/rBM9TCw9HjEmnC2Y650mn6NoT5VbeWts5DrX7FxnlZlAInuzyJAGM8t6rCUSGxDFcN7XNYv1oxHuSfQ7cnpUgyv2IvacXH9+hMvOlpnOcAWT+WXmw2XuGQYr6QcQmVrWiWBdP+SinDYgasLZhA6LQkfTSE1c21HdxzcixHyYktVMPuzI+qCkQZN50JFslpDoBha15JqJPlZUI+fofV3jAGwaMI7ExI7hQ8dHPa6RWjMY+Se2kkmH8ZmO52uxHMxnFdLU0nZETTgbMGNQsa7Npn/wfI6gnCJWhuNOMp62wSJTjbzFLFI/CaSlpY2ImnKKYIPIyh/cZNCd5THNDxzWPG0ek/1MTGb03umfGTBfkItRnAzSOupDiT4Kqgkn+iziKlJBybA+0skjmd+IrUZlJQPTiNUFkd85YBrrrztnmc5bIVJNj7NeBEUqeOVmOjGYhMdmc+VmupnopJySYUgMJunwsuEiBpMkwzjnQimcc0EVzrmgCudcUIVzLqjCORdU4ZwLqh7A2WA4H9SAc9pDIZxYNZzTjmtKznEd9p4OkhGc09aLGEySjBgu+5gNzBwd12EvVuCctl8IJ/aqnwlnA85pV2XGadE7MVcicU7bL4QTq2YybBp7RVqKc9p8EYNJ0hGTcQRqLCf2jmw4p+0XwolVM+HEDuEZxDltvojBpMERk4FXJpzYe+wNjuKctl7EYNLgqMmdEY2cmnEddjCqDOe0+SIGk2SjJkOITTixw5FxTtsvhBOrpjH5ui5yRzoZbJdBuRrntPUiBpPkaohV00xgOLHf+lDgnDZfxGCSQm3yXR0j59iEDvudIZzT9gvhxKqNYTmxX8xT4pw2X8RgklJt8nVKE07sF2aHNDinrRcxmDSkMdxKUAl7lRjO+xM6w60lYJ8SqnBOmy9iMEmlwdyJYgjeN3Jqdf0qiGZ4DOe09SIGk4bHIFbtvhbDKVJBNDin7RfCiVUzco5rddhvMI3gnDZfxGDSyJjJ987GsZzSEYhm9D7OaetFDCaN3odYNSPnhFaHveuNGue0+SIGk9T3Te5VNIHlxN6FCOe0/UI4sWomnEo1RKMZxzltvYjBJM04xKphOKFuSAPRPC5OrVbb3NLS2tIqlUrn/9XtqxBOrNoENHBqoU6lgWjGHhOnUNjHYOSwcovLyysghPPfADsqYjBpbBxi1bTQlq6oqFSqNHpGQUF2URHt9m0mj8eb5wbYV011RWX0vg57BxXx4/hSQ0VF+a3UAubtr8uYr7JYzIxMllqtmec22FERg0niYZP73ph8RwV7c5z55xwYEKWmMlJTac2lzwvaFuXRvBjMqqqqqvlsg30VwolVm5RzYH45tVptYWFhZmZR1m9+Oh3Q6UBd4f/LZ17LyLwjkUjmrRn2VcRg0sADOTn9kDPvnG1tbbdv52dl3eio/h3CqdMC1o0Pi0uaCwuLHmmfqO2sK3A92zZ7bbWZQjgRL+ucnMfBqdGob99mFBc35tE8dDqgUwOdGui0oD7vXyuLKcycMkGv4OF/+yNytp11NdxUPCjr4VsxF4Xl5Fhych4TJ4fDyckpu1twoa3idxdjHQ99t+Hwof8+fnRje+1zJbR3S8sb7ty5OzExMT+NMa2sIHRNaDvramOgZpwcLOfIY+KUyWRZWaya2trSrA/uD4Ovv967d++xPXuPfPbZoZLs1wSVz7GzfmSXNzU2Ns1DY6astrOutrXRtuQcebycEMLS0tKm5p6ykih+w6Ix1dN/P7xr377v9u79ivjZ30qzX9fJfl+Y+Ha/UMTKK1Kphh/mNSbpVZiNqL4eZJUVZPO98zFzCgSC/Dtl5RXslqL/0mkJE8PPHPrOd+euoIBPd3l5b6vI/i+d+E/C0meLUvaIxCMVFRUP8xqztJHMCrK5HaqZcKrmnHNiYiI7O0c0MFScHaQSLNKN/FEjffbbbzZ6bA3YuGnrRx+5V2S+rOv9j7GW3xcnvMKrv8Mur32YE7mzwZkVZHs7QginajqcwvngbGpqKiqurahI7yh9Saf4d53izxrJs8H71jm7bHB2ef/DD9ZVZf5J1/GcuuFfBTlPF1C3DMpGi4vZWq12Zi/zyBtb27TUoZzCqTmF88GpUqmyslmiAXlB2jad4jmd+D910lc0ouf2frbK4S2XtU5umzZ+UJ/9vO7eopHqZ9RVoDZxUXlWVFVNa1dX18xe6ZF6p00ftBo5hVY5hfpptXPPWVhY1NgkKCuO7yp5QSd5WSt4RSd4eaTleT+PP/3+Dy+++tqbH7i9y7n1zHgVUBQDxV2gyAFZMUtEYln+nbtjY2MzeKVH4cwKmtne0vwWwllrUOMILThrDZlTTqlUmpWd39raUnzrY13fIg3v2eGGp9QNQF4BNroCAMCi3/37OheHmhuEkQIwyASDmUCRCWovLCpK+aGK29HS3DJHDbOvQjmRmHPWzgvnxMQEk5nbeq8vN2WvtOKp4RqgqASyUqAqB0OlwOsDAAB46c+L/bZ90JBMGM4Fg7fBYDqQ0sFgKmBGvljFZuXmFapUqrlom32VGWftY+Hs7OzMZBQwmbS61OdGa4C8AshLgawEDLHBaAUgegAA/uX1N512+m9ovEkYZoJBOpCmAQkNSGng3qWnGf/0Lq3ilZWVzUXb7KtmwCmaG06NRnM7g1HCrstJ8hHffUpeDmRsICsBsiIguwsUhaDuOsg4DVgxoDIO9KWAwXQgSQViGhAnA9GvYPAmKIpclJNyJptVPDAwMOvNs68iBpNED+SsEcKaOeMsKyvPyati0M81pS5SlANZsR5yMB8MssAQC9RcAee+BaF7F2X9AoYzgSQFiJOB+CbovwH6qaA/EbRffDo96i9F7IaCgsJZb559FcKJeFnnrJlLTqVSmUbPys5mspI+lhQ8JSsBsrtAVgBk+WAwF8hzwXA++PtOAMAzL77iuGenS1sCkNGA+CYQ/Qr6qfpIbgB25KL0K4ezWOzOzs7ZbaF9FZazxpKzZo458/LyM7NLMlJ+aKUvUpU/o2AvUhQ/o7j7lLyQoMgDw/lgpBD4/zcA4Nm1rhv+h/hpHWWRKgNIUv9FQntGnLJInLJIkvKMlLaoO+HpjNNL8lgFjGyWRvPkjj4x46yZT06RqD81NSM97VpxykZ4b4mmwUHDXaGpXa6pWaauflNTtURTuVhX+3pFwqueH7/p/1eP+FMfSplvqItWqPIdhvLfUhW8pSpwUBU4DBc4jBUtr7v6Z/qlPbczC+rq6mexkfZV0+bsm33O3FxWNrMw67eD1dTXqxKXVV1fVnV1WdWVNw1ZUnllceWVxbVXFpdcXMw6+xr74usVcUvK45aVX15WfnlZedyyCkMq45ZVX1mc90/n3Ex6eka2XK6YxXbaUek5+6bg7IM1fbB6DjhvZ2RWVFbXcyoaOJUNnKpGTk1TXW1zPaeD19zb1SHuF8okYvmgWD4oUQxKFDKJfFAiH5QMivv7+3r7Bb1dvNbWxrrmek5TXW0jp6ahtqqRU8Ot5eTnFz7klRb7L4Szuk+vZsFpsJwLThaLdfXqtQsXLl24EHfhQtyFi3EXL1EuxVHiKFcolOuU+Ovx1xOuX0+8fj3xegI1IYF6PYGK/HjlekL8levx8dco8Vcux8Vfuhx/8RLlwsW4ixfjLl689Ouvv/L5/Flspx0VyomKmnNWzxmnTqerm5ua3UbaUWE5qy05q+eYE6/ZLTPOapzTrmu6nFU4pz0Uwlk1NWcVzmknhXJWTcZZhXIO4Zy2XsRgkmjISGbOiU6oEsB+nNPmixhM6h+CVQKjqDVOAazEOe2hEM5KgVHUCmelnlOLc9p4EYNJ/UNaxMsap0BvWSnQ4py2XwZOg6jAlBO1rMA57aEQzgqBUdTIOazn1FbgnHZSKCcqOmzKqZ9WIdAKcU6bL2IwSThkJKsUaK1zlvfinHZQCGd57yScqCXOaReFcqKi5pzINJzTLgrLiYiacKITynBOeyiEs6zXKIrhHNOhlmW9WqES57T1IgaThEq9l55zzJQTmVbWo+3DOW2+iMGkPqW2rMcoasJZZuAsxTntoRDOUgNnmVXO0h6c0z4K5URFzTmRaTinXRSWExE14UQnsHFOeyiEk91jFDXnZCPpxjntoPSc3Xq1STi7tSU4pz0UwlnSrRc150QsEU4BzmnzRQwmCVDObi0by6kycJZ0a4txTnsohLO429hBVSacBkuc0y4K5URFTThRS5zTLgrLiYha4+Rri/g4px0UwlnE1xbzrXGilkV8bS/OafNFDCb1KvVeiKg5ZxHOaT+F5Syy5EQn3OVrexVaYjBJgZcNF/EAqVehvcs3ilrhvMvX3u3COe2g9JxdRlFzTsSyEOe0h0I4C7uMoiacqGVhl7YH57T5Ih4g9Sj0XoioKafBEue0i8JyIqLWOQtwTnso4gFSj1xbMBknalnQiXPaQek5O42iRs6hMR1qeQfntIdCOO90GkWHsJyIJc5pL2XC2aktsMp5B+e0k0I571jnNFjm45z2UAhnfqdRFMOp0aGW+Z3aHjnOaeuFcqKiQxpTTmRafoe2G+e0+dp9gNQt1+Z3GEWtcXbYFue1O40BZ3PfP57+RCXgbO61O41TvzNGzg5rnGjXzLMZzit5De/EFK8oG36nCT5RWVE2/E5M8ZW8hineHIQzr8PYQS04O7R5tsTpF52zonz4AF97STTxROUAX7uifNgvOmeKNwflREVNOQ2WtsP5/vH0dxrhxf4JyciTlYv9E+80wvePp0/x5uw+QOLLjWT5Haac6ASW7XGKR8afqEyfk4XphFY4WTinDWRGnKwHcLbbGKfwyeMUTo9TpmW1T86JWNoa5wXhxMDI+BOVCzPiNIiacLIwnPwnkvPXvwFi2hQztIa7TD3D4+RkWeFs17Latbm2xLmmEf6zb6J/eHzWUxrhgv6/ubtTx/tT92D/J93dqeP9w+P9ddFrwRTl8nPd7Desf3j8n30Ta6bHmdtuFDVyKjU6VrvtcgqHx+cmrWEue6jD48K6aMfPM/RPpu4B6OO6aEeX6NJJFqd+7hJWNycNexjOdq3SkjP3ieKsi94d0Socztjtsme3i3nXc4xonbPVaDY5cyfjzLVJzti+iT7V+FyE+rlebtet1rC/uITVjffVRTt+ntGnGmefdnE83co+bYFsRn66dS4aFjtDzlxLzlyb5HyrXnuyc6xapJn93PgCALD9huYfRLD9RtNBiw/J1T83mS9SHrWaSJ+TxpjmZOfYW/XaB3J2YThzJ+PMeSI4mw6u/WI7EcvpcrDcCJb2swvKmfazy/YbNsqZMzVnjo1xOtRpT3SMVQrVc5Fzu4FvEvJvw3eWvTOsoVKorhQ2fLfW5btSdaVQXVkauRo7x9pI2tw07ETHmEPddDlz7Ivz53ZNWZ96LhK9C2yjqqN3gW2hkavWRv7Wpy5jR67aRS/rU/8W6rIqtKGsT11G/RsAYBtVXYaZOtf5uV0zC5w5Tx4nUqvWGvDMOenbgMu3bPo2AFaFNtgsZ44lZw6WU2YrnCvqtMfb1MW9o3ORyF3AK2G0uLf+G8e/RSJPFkeu3BX5jSMAAHgloDPoZ7ZSu9LmomHH29QrZsiZMylnm21xHrs3Wtgz/ETl2L3R6XK24Zw2n9njbLMtzuXciZ9aR/P5qicqP7WOLudOTJezbTLONlvkJLWO5napnqiQZsrZZsnZZpzWhXPaHWfbJJxMW+Jcxh0/0jzC7Bh6onKkeWQZd3w6nEw74vSLznmjRLW9YeyH5uEnKtsbxt4oUT1wYOaDOZm2xIkMm36DrVrKGX+i8gZbNZ1h0wgnczJOpo1xKhSKOFa9bxTzsem+V5QAAAFMSURBVH/LYJ7jG8WMY9VP/c5gOZmWnEyb5MRrsjLjZOKcdl1EnHMhFc65oArnXFCFcy6owjkXVOGcC6qIwTjnAiqcc0EVzrmgCudcUIVzLqjCORdUzYCTJ4XnE+jEYBIem835BDpPCqfFWSmAPCnskmnx2Gx4UlgpsMbp6Oh4+VoSu9uk5+Kxr7C7tZevJTk6OoIvvvjCYdV73fLH3yY8D51uudZh1XseHh7g4MGDS1c6Uq4lNQzAuX5VPHORhgFIuZa0dKXjjh07wJkzZ7766quXXnmNci2pW64t7Xn87cMzzbB7tN1yLeVa0kuvvObr63vw4EEQFxdHJpO/+uqrpSsdHVa9d/lqklKjw2MXuXw1yWHVe0tXOvr6+n777bfHjh0DN2/evHDhAplM3r9/f2Bg4NKVjnjsKJs3bw4ICPj++++PHTv2yy+//H+D47/jh819RgAAAABJRU5ErkJggg==" alt="" />aaarticlea/png;base64,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" alt="" />

  以上就是对JavaScript闭包的总结,如果有写得不对的地方,欢迎朋友们指出来,大家一起共同进步!

JavaScript学习总结(十六)——Javascript闭包(Closure)的更多相关文章

  1. JavaScript学习总结&lpar;十二&rpar;——JavaScript编写类

    在工作中经常用到JavaScript,今天总结一下JavaScript编写类的几种写法以及这几种写法的优缺点,关于JavaScript编写类的方式,在网上看到很多,而且每个人的写法都不太一样,经常看到 ...

  2. JavaScript学习总结&lpar;十四&rpar;——JavaScript编写类的扩展方法

    在​J​a​v​a​S​c​r​i​p​t​中​可以使​用​类的p​r​o​t​o​t​y​p​e属性来​扩​展​类的属​性​和​方​法,在实际开发当中,当JavaScript内置的那些类所提供的动态 ...

  3. JavaScript学习总结&lpar;十八&rpar;——JavaScript获取浏览器类型与版本

    从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: 1 <script type="text/javascript"> 2 v ...

  4. python3&period;4学习笔记&lpar;十六&rpar; windows下面安装easy&lowbar;install和pip教程

    python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...

  5. 201671010140&period; 2016-2017-2 《Java程序设计》java学习第十六周

    java学习第十六周-并发        本周,学习了Java中线程,并发的知识,在老师的带领下,进行了对知识的理解学习,以及对实验的运行讲解,对这一块内容掌握的还可以,在自主编程中,也能够完成.线, ...

  6. 学习笔记:CentOS7学习之十六:LVM管理和ssm存储管理器使用

    目录 学习笔记:CentOS7学习之十六:LVM管理和ssm存储管理器使用 16.1 LVM的工作原理 16.1.1 LVM常用术语 16.1.2 LVM优点 16.2 创建LVM的基本步骤 16.2 ...

  7. 风炫安全WEB安全学习第二十六节课 XSS常见绕过防御技巧

    风炫安全WEB安全学习第二十六节课 XSS常见绕过防御技巧 XSS绕过-过滤-编码 核心思想 后台过滤了特殊字符,比如说

  8. 风炫安全Web安全学习第十六节课 高权限sql注入getshell

    风炫安全Web安全学习第十六节课 高权限sql注入getshell sql高权限getshell 前提条件: 需要知道目标网站绝对路径 目录具有写的权限 需要当前数据库用户开启了secure_file ...

  9. JavaScript变量作用域&lpar;Variable Scope&rpar;和闭包&lpar;closure&rpar;的基础知识

    在这篇文章中,我会试图讲解JavaScript变量的作用域和声明提升,以及许多隐隐藏的陷阱.为了确保我们不会碰到不可预见的问题,我们必须真正理解这些概念. 基本定义 作用范围是个“木桶”,里面装着变量 ...

随机推荐

  1. Asp&period;net MVC4&period;0(net4&period;5) 部署到window server 2003上的解决方案

    Asp.net MVC4.0(net4.5) 部署到window server 2003上的解决方案 最近做了一个Web项目,也没多想就用了Asp.net MVC4.0 ,MVC4.0默认的目标fra ...

  2. C语言之switch

    一 switch的语法 switch(表达式){ case 常量表达式1: 代码块1 break; case 常量表达式2: 代码块2 break; case 常量表达式3: 代码块3 break; ...

  3. 从零开始学 Web 之 移动Web(五)touch事件的缺陷,移动端常用插件

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  4. newcoder 筱玛的迷阵探险(搜索 &plus; 01字典树)题解

    题目描述 筱玛是个快乐的男孩子. 寒假终于到了,筱玛决定请他的朋友们一起来玩迷阵探险. 迷阵可以看做一个n×nn×n的矩阵A,每个格子上有一个有一个数Ai,j. 入口在左上角的(1,1)处,出口在右下 ...

  5. 微信小程序开发——小程序分享转发

    关于小程序的转发: 最简单的就是点击小程序右上角菜单“转发”按钮直接分享,不过这种分享有点不太友好,实用性也不强. 当然,你可以自定义分享内容,包括标题,简介,图片及分享的小程序页面路径. 再高级一点 ...

  6. spring Mvc Web 编码相关 &lbrack;model 到 视图传递数据&rsqb; &lpar;九&rpar;

    在某种编码环境,由bean注解的参数可能会发生乱码问题. 即可页面web.xml或其他地方都设备UTF-8, 但还是会有这样的问题. 首先不要使用model传到视图的数据. 第二,不要request. ...

  7. input文本框 输入限制三则

    其一,只允许输入数字和小数点. <input onKeypress="return (/[\d.]/.test(String.fromCharCode(event.keyCode))) ...

  8. &period;NET 跨平台服务端资料

    OWIN Web API:  http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web- ...

  9. 【转】彻底理解安卓里的ldpi、mdpi、hdpi、xhdpi、xxhdpi文件夹含义

    这个问题我相信困惑了好多人包括很多老鸟,而且有的人以为自己理解其实是错误的,包括之前的我在内,在做安卓适配的时候,一般让美工做720*1280的切图,就直接放到xhdpi下,如果是做了1080*192 ...

  10. keil5 mdk调用外部编辑器notepad&plus;&plus;、sublime3、VSCode总结

    1.打开keil主界面,点击菜单栏Tools菜单,选择如下图所示的选项. 2.点击如下图所示的菜单上红笔标注的地方,给这个工具命名,如notepad++.sublime3.vscode等,如下图, 并 ...