我正在编写一个程序来从飞行控制器获取值,然后使用这些值与HUD进行交互。我面临的问题是我无法从飞行控制器功能中获取变量并将其传递给HUD功能。我试过window
没有运气,尝试嵌套功能,以及我在网上找到的其他东西 - 它们都不起作用。任何帮助将非常感激。下面的代码 -局部变量不成为全局
这是从飞行控制器拉动数据的部分 -
var roll_in;
listenerImu.subscribe(function(message, roll_in) {
roll_in = (message.twist.linear.x) * (-57.2958);
return roll_in;
});
一旦数据被放入roll_in
,它需要投入这个功能 -
function FlightIndicator(placeholder, type, options) {
var attitude = this;
var settings = $.extend({
size: 500,
roll: roll_in, // Vehicle Roll
pitch: pitch_in, // Vehicle Pitch
turn: 0,
heading: 0,
vario: 0,
airspeed: 0,
altitude: 0,
pressure: 1000,
showBox: false,
img_directory: 'jQuery-Flight-Indicators-master/img/'
},
options);
}
即使我在listenerImu
函数后面加上console.print(roll_in)
,它也会打印undefined
。
谢谢!
因为您在块作用域中定义了roll_in。那个回报什么也没做 – epascarello
他说他试过'window.roll_in'。 我们可能需要声明'roll_in'的完整文件以及执行此脚本的位置?在浏览器中? –
注意:[变量影子](https://en.wikipedia.org/wiki/Variable_shadowing)。 –