问:您将如何命名位于另一个函数内部的函数中的局部作用域?
让我解释:
我想使用的命名约定有问题。这是一个简单的例子:
!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);
现在,我决定使用名为“变量”的对象来容纳所有在函数之间共享的所有对象。一个全局范围,如果你愿意的话,限制在外部 !function() {} 定义内。
我决定使用名为“local”的对象来容纳函数内的所有对象。我的问题是函数内部的函数范围。我想我必须以某种方式合并函数的名称以使其独一无二。我知道在这个简单的例子中,local.X 是两个独立的变量。但我想分别命名它们,以便人类更容易阅读。我不想在 6 个月后回来想知道 local.X 是什么。
添加到问题的是它是一个匿名函数,因此没有函数名称可以绑定以使“本地范围”唯一可识别。我可能必须制定一个规则,如果在回调函数中需要一个变量,那么给回调函数一个名称并将本地范围与该名称绑定(以某种方式)。