javascript - JS : Why isn't this variable available to the other functions?

标签 javascript variables undefined

我正在尝试制作 Canvas 动画:

var context;
var meter;
var pin;

function init() {
    var meter = new Image();
    var pin = new Image();
    var context = document.getElementById('canvas').getContext('2d');
    meter.src = 'background.png';
    pin.src = 'needle.png';
    context.drawImage(meter,0,0);
    context.translate(275,297);
    context.save();
    setTimeout(startup,500);
}

function startup() {
    var r=2;    // set rpm here.
    var i=r*36-27;
    var angleInRadians = 3.14159265 * i/180;  //converting degree to radian                
    context.rotate(angleInRadians); //rotating by angle
    context.drawImage(pin,-250,-3);  //adjusting pin center at meter center
    context.restore();
}

您可以在http://www.kingoslo.com/instruments/处看到该脚本

使用 firebug,我收到错误消息,提示上下文未定义,我认为这很奇怪。

谢谢。

亲切的问候, 马吕斯

最佳答案

这可能是因为您在 init() 函数内使用“var”,这使得新的“上下文”变量成为该函数的本地变量,而不是向全局变量添加定义。因此,只需在 init() 函数中的“context”之前删除“var”,它就应该可以工作。您也应该将 var 放在 Meter 和 Pin 前面。

关于javascript - JS : Why isn't this variable available to the other functions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4536183/

相关文章:

python - Python 无法识别全局变量

c - 使用 Code::Blocks IDE 在 C 中出现 undefined reference 错误

php - 用 PHP 获取 img src

sql - 使用两个(或更多) '@' 符号声明 SQL Server 变量会产生什么后果?

javascript - 在 JavaScript 中编写这些语句的简洁而健壮的方法是什么?

python-3.x - 尽管 xxx 是全局定义的,但预期的 NameError : name 'xxx' is not defined

JavaScript 图像旋转

javascript - 如何运行 jhipster javascript 测试用例

c# - Mootools 幻灯片

javascript - 如何将数组作为参数传递给 Angularjs 中的 $http.get