Я новичок в Javascript, поэтому простите мне мои тривиальные ошибки. Я написал следующий скрипт, в котором res
предположительно является глобальной переменной в файле сценария. Я устанавливаю глобальный res
в методе и затем обращаюсь к нему по другому методу, однако проблема заключается в том, что this.issue
возвращает undefined
в методе Y, но это не определено в методе X, где я присваиваю ему значение. Почему это?Глобальная переменная, возвращающаяся undefined
Метод X вызывается до метода Y.
var res;
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express', shortenedUrl: ''});
});
router.X('/yolo', jsonParser, function(req, res, next) {
this.res = res;
console.log("this.res: "+ this.res); // this.res not undefined here
Y();
});
function Y(){
console.log("this.res: "+ this.res); // this.res here becomes undefined
});
потому что в обоих случаях это 'другое' – dfsq
читать [здесь] (http://javascriptissexy.co m/понимать-javascript-closures-with-ease /) о закрытии – puemos