返回变量javascript

时间:2014-10-13 16:15:56

标签: javascript variables

(function(){
    createCanvas('someid', 150, 150);

    ctx.strokeStyle = '#09f';    // ctx is not defined
}) ();

function createCanvas(canvasid, width, height) {
    var canvas = document.createElement('canvas');
    canvas.id = canvasid;
    canvas.width = width;
    canvas.height = height;
    document.body.appendChild(canvas);

    var ctx = document.getElementById(canvasid).getContext('2d');
    return ctx;
}

我试图从创建画布的函数返回ctx,但是我得到错误ctx没有定义。

有没有办法从createCanvas函数返回这个变量?或者我应该在第一个函数中创建ctx变量吗?

1 个答案:

答案 0 :(得分:3)

你正在返回,但没有使用它。

(function(){
    var ctx = createCanvas('someid', 150, 150); // now ctx is defined
    ctx.strokeStyle = '#09f';    
})();

您需要将返回值分配给变量,以便可以使用它。如果您愿意,如果您不再使用该变量,也可以像这样使用它。

createCanvas('someid', 150, 150).strokeStyle = '#o9f';