javascript中的返回函式與閉包
在Javascript中沒有類的概念,函式就是第一類物件。 |
通過以上程式碼,可以看到2個現象: 現象1: var inner = function(){ //函式inner的作用域 var inner_v = "inner"; alert(outer_v); //outer,能訪問外部函式作用域的變數 } inner(); } outer(); //alert(outer_v); // 不能訪問oute函式作用域的變數。 </script> 以上程式碼就是為了說明Javascript語言特有的“鏈式作用域”結構(chain scope)。即子物件會一級一級地向上尋找所有父物件的變數。所以,父物件的所有變數,對子物件都是可見的,反之則不成立。 現象2: 閉包的作用主要就是為了保護私有變數。使用閉包的注意事項: |