問:你會如何命名位於另一個函數內部的函數中的本地範圍?JavaScript函數中的範圍變量
讓我解釋一下:
我在與我想要使用的命名約定的麻煩。這裏有一個簡單的例子:
!function($, window, undefined) {
var Variables = {};
Variables.X = 1;
function myFunction() {
var local = {};
local.X = 2;
$('.myClass').each(function() {
var local = {};
local.X = 3;
});
}
}(jQuery, window);
現在,我已經決定,我將使用名爲「變量」的對象,以容納那些功能之間的任何共享的所有對象。如果您願意,全局範圍僅限於outer!function(){}定義內。
我決定使用名爲「local」的對象來容納函數內的所有對象。我的問題是函數內部函數的作用域。我想我必須以某種方式合併功能的名稱,以使其具有獨特性。我知道在這個微不足道的例子中,local.X是兩個單獨的變量。但我想單獨命名它們,以便人們更容易讀取它們。我不想6個月後回來,想知道local.X是什麼。
增加問題是它是一個匿名函數,所以沒有函數名稱可以使「局部範圍」唯一標識。我可能必須制定一條規則,如果在回調函數中需要一個變量,則給回調函數一個名稱並將本地範圍與該名稱綁定(以某種方式)。
我明白你的問題(變量陰影),但我不明白你想要做什麼以及爲什麼。 – 2013-02-24 20:04:42