在我的例子中,我试图在函数之外使用变量,但还没有运气。大家可以看看并帮我解决这个问题吗?我想使用变量" value"功能之外。
var https = require('https');
var options = {
hostname: 'example.com',
port: 443,
path: '/values',
method: 'GET'
};
var req = https.request(options, (res) => {
console.log('statusCode: ', res.statusCode);
console.log('headers: ', res.headers);
res.on('data', (d) => {
var Array = JSON.parse(d);
value = Array[0][1];
console.log(value);
});
});
req.end();
req.on('error', (e) => {
console.error(e);
});
答案 0 :(得分:0)
实现这一目标并没有任何技巧或重写。您必须计划让两个地方都能够在同一范围内看到该变量(您应该阅读scope in javascript)。
闭包和类可以让你使用范围玩一些其他技巧,但没有一个允许你完全覆盖范围规则。
我能想到的关于范围的“技巧”是在浏览器中使用window
来获取全局对象。这可以帮助您获得一个“隐藏”变量 - 一个在范围内但其名称已被局部变量(或在范围链中更近的其他变量)所取代的变量。但同样,请正确设计您的代码,这样的情况不会发生。