我正在使用fabric.js在画布上绘制一些东西。

我有takePhoto变量是

            takePhoto = img.set({
                left: posX - img.width / 2,
                top: (character.height + logo.height) + 25
            });


console.log(takePhoto)返回未定义。

有人可以解释一下为什么会这样吗?
http://jsbin.com/xoxunepasi/1/edit?js,console,output

最佳答案

它实际上是未定义的。但是稍后会定义它,因为设置它的函数是一个回调。 -加载照片后设置takePhoto。

您可以看到它,因为它确实可以这样工作;

setTimeout("console.log(takePhoto);", 400);


解决方案是在设置好takePhoto之后,将代码添加到回调中。

08-07 19:12