【发布时间】:2012-10-04 17:52:03
【问题描述】:
可能重复:
JavaScript: var functionName = function() {} vs function functionName() {}
我有一些 Javascript,除了这个我可以从某些区域调用但不能从其他区域调用的函数之外,它大部分都可以工作。这似乎是一个范围问题,但我不知道为什么。
$().ready(function () {
UpdateElfDisplay(); // <--- Undefined
$('#Attribute1').change(function () {
UpdateElfDisplay(); // <--- Works just fine.
});
var UpdateElfDisplay = function () {
// ... some work done here
};
});
正如我在上面所标记的,当我从 .change() 函数调用 UpdateElfDisplay 函数时它工作正常,但如果我在加载文档时尝试调用它,我会得到一个“未定义”。有人可以解释原因,或将我引导到描述此的资源。
【问题讨论】:
-
尝试在第一次调用之前移动 UpdateElfDisplay 函数声明。
-
@epascarello - 嗯。我明白为什么有些人可能会认为这是一个重复的问题,因为现在看起来答案是一样的。但是,我认为这个问题是完全不同的。例如,“天空是什么颜色的?”和“海洋是什么颜色的?”可能有相同的答案,但不是重复的问题。
-
答案相同,只是提问方式不同。大声笑
-
是的。我想我是说最终的问题和答案是相同的,但在我看到答案之前,问题对我来说似乎并不相同......如果这有任何意义的话。
标签: javascript jquery scope