我寫這樣的程序:的Javascript使用嵌套用作對象訪問
function a(x,y,z) {
function b(foo,bar) {};
function c(foo,bar) {};
function d(foo,bar) {};
function e(foo,bar) {};
function f(foo,bar) {};
}
我調用該函數是這樣的: for(var i=0; i<5; i++) { charts[i] = a(x[i],y[i],z[i])}
x,y和z是長度爲5的全局數組和一些屬性。現在
,循環獲取網頁加載之前執行和預期也進行了各自爲陣的所有功能(有這些功能的發揮勢必元素的事件監聽器)
比方說,我想訪問一些來自b,c,d,e或f的局部變量「在頁面加載之後,當一個事件被調用時,我該怎麼做?我在這裏談論「範圍」。
我是否必須將整個事物作爲一個對象?
此外,b,c,e和f(局部聲明並且不使用「this」)中存在局部變量。 也有變量裏面的一個是由b,c,d,e和f訪問(再次,本地聲明,不使用「this」)
謝謝!
您不能從創建它們的範圍之外訪問局部變量。您必須將它們暴露給全局範圍,或者在本地範圍內具有getter函數。 – Amberlamps