2
閉合和嵌套閉合有什麼區別?例子的一個很好的解釋會很有幫助。閉合和嵌套閉合有什麼區別?
閉合和嵌套閉合有什麼區別?例子的一個很好的解釋會很有幫助。閉合和嵌套閉合有什麼區別?
變量的範圍和它們綁定的環境。
而如何辛苦,他們是在一個編譯器 :)
ClosureA可以綁定到它來實現本地範圍LA和家長範圍PA,然後調用ClosureB內封閉勢必(潛在) LB,LA,PA
func a(v1,v2,v3){
closure_b(bv1, bv2, bv3) { # Closure
b_local1 = bv1
b_local2 = v1 # parent scope
closure_c(cv1, cv2) { # Nested closure has 'closure_b's scope too
c_local1 = cv1
c_local2 = bv1 # direct-parent scope
c_local3 = v1 # parent's parent scope (nesting)
c_local4 = b_local2
}
return closure_c;
}
return closure_b(); # closure_b() returns closure_c
}
我跟隨在你的代碼一切,直到return語句。我不認爲closure_c可以在closure_b之外訪問。你能否解釋一下如何從func的範圍返回closure_c?或者這個例子中的return語句是不正確的? – adamjcooper 2009-06-30 15:50:33