closure

12
Closure

Upload: ji-kang-huang

Post on 18-Jan-2017

128 views

Category:

Technology


2 download

TRANSCRIPT

Closure

Some example

for(var i = 0; i < 10; i ++) { setTimeout(function() { console.log(i); }, 1000);}

Example

Why?

Why?Javascript允許你參考 (refer to)定義在目前 function外的變數。對參數複本 (a copy to parameter)沒有存取權,而是對參數本身有存取權。都是因為函式能取用建造它本身的背

景情境,才有這種可能。這種狀況稱為 closure(閉包)。

from: http://ithelp.ithome.com.tw/question/10130860

I think is...

執行時沒有 variable i可以使用。為了讓 Function可以順利執行,因此提供外部變數的參考。

Closures實際上儲存的是對那些外層變數的參考 (references)。from: http://ithelp.ithome.com.tw/question/10130860

How to solve?

How to solve?

Function執行時有變數可以參照Example:

1. Example2. Example have debugger

An useful example

Thanks for listening