【发布时间】:2010-05-15 15:33:46
【问题描述】:
我正在尝试简化一些使用闭包的 JS 代码,但我一无所获(可能是因为我不了解闭包)
我有一些看起来像这样的代码:
var server = http.createServer(function (request, response) {
var httpmethods = {
"GET": function() {
alert('GET')
},
"PUT": function() {
alert('PUT')
}
};
});
我正在尝试以这种方式简化它:
var server = http.createServer(function (request, response) {
var httpmethods = {
"GET": function() {
alertGET()
},
"PUT": function() {
alertPUT()
}
};
});
function alertGET() {
alert('GET');
}
function alertPUT() {
alert('PUT');
}
不幸的是,这似乎不起作用...... 因此: - 我究竟做错了什么? - 是否有可能做到这一点? - 怎么做?
TIA
-- MV
【问题讨论】:
-
doesn't seem to work不是一个非常精确的问题描述。 -
如果您遇到
alertGET is undefined类型的错误,您应该尝试将函数声明放在server函数之前。除此之外,这似乎完全合法。 -
是什么让你觉得将匿名函数移到外面是在简化事情?
-
你的代码应该可以工作,你需要说明什么不工作(预期的行为是什么)以及你得到什么样的错误信息。
标签: javascript closures