(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变量吗?
答案 0 :(得分:3)
你正在返回,但没有使用它。
(function(){
var ctx = createCanvas('someid', 150, 150); // now ctx is defined
ctx.strokeStyle = '#09f';
})();
您需要将返回值分配给变量,以便可以使用它。如果您愿意,如果您不再使用该变量,也可以像这样使用它。
createCanvas('someid', 150, 150).strokeStyle = '#o9f';