Javascript:访问父母函数的变量

时间:2012-04-28 19:34:18

标签: javascript node.js scope

我有以下代码(简化):

function(req, res) {
  var path = 'login';

  req.on('end', function(data) {
    var post = parsevars(rawpost, '&');
    if (typeof post.username !== 'undefined' && typeof post.password !== 'undefined') {
      if (handlelogin(post.username, post.password))
        path = req.url;
    }
  });
}

粗体部分是不能按预期工作的:/
关于如何逃避此范围限制的任何输入都会很棒。

2 个答案:

答案 0 :(得分:2)

DID工作,它之后的代码刚刚在事件处理程序之前执行。

答案 1 :(得分:0)

奇怪,工作,因为req位于闭包的外部范围内。

但是我想你会发现当前的req在回调中也可以作为this使用,即:

path = this.url;