作者zerodevil (冰心無情)
看板PLT
標題Re: [問題] 為什麼local variable的scope不能延及ꐠ…
時間Thu Mar 6 04:20:17 2008
亂入補充一下
其實如果允許nested function的話
拿到上一層function的變數也沒什麼不好
function foo() {
var x = 1;
function bar() {alert(x)}
bar();
}
我想應該不用特別解釋了
這個例子的bar可以看到x然後印出1
bar宣告在foo裡面,
所以bar在的時候一定有x可以用
想在compile time算出x的address也不是什麼問題
(如果javascript可以compile的話)
這樣godfat大提到的問題或許可以少一些?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.90.68
※ 編輯: zerodevil 來自: 140.112.90.68 (03/06 04:21)
1F:推 linjack:這應該是比較像 lambda / closure 的概念?不太一樣吧._.? 03/06 11:40
2F:推 godfat:同意 linjack, 這樣是無法無中生上層的 local var 的 03/06 15:11
3F:→ godfat:也就是那有一定的限制在,不能任意操作 local var 03/06 15:12