我仍然在處理一些JavaScript變量處理問題,對此我有點困惑。變量不在Firebug中顯示
我有這樣的文件中聲明的變量:
(function (myControls, $, undefined) {
var selectedLifeArea;
...
但尋找這些螢火蟲他們沒有下myControls「命名空間」列爲我的預期時,僅列出了這些函數。這是爲什麼?
我仍然在處理一些JavaScript變量處理問題,對此我有點困惑。變量不在Firebug中顯示
我有這樣的文件中聲明的變量:
(function (myControls, $, undefined) {
var selectedLifeArea;
...
但尋找這些螢火蟲他們沒有下myControls「命名空間」列爲我的預期時,僅列出了這些函數。這是爲什麼?
你的代碼被包裝在它自己的範圍內。
嘗試在js調試器中添加一些中斷,然後您可以讀取這些變量。
這裏是一個簡要說明:
var globalVariable;
(function() {
var localVariable;
// can access both `globalVariable` and `localVariable`
...
)();
// can only access `globalVariable`
...也許因爲你的代碼被包裝在什麼似乎是一個[IIFE](http://benalman.com/news/2010/ 11 /立即調用的函數表達式/)? – gustavohenke
那麼它肯定應該在該範圍內列出? – Jammer
這聽起來像你對「範圍」的理解是有缺陷的。 –