Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的实例的属性没有定义?_Javascript_Html - Fatal编程技术网

Javascript 为什么我的实例的属性没有定义?

Javascript 为什么我的实例的属性没有定义?,javascript,html,Javascript,Html,这是一个用于在页面上渲染动画的脚本,我已经完成了一部分。我定义了一个sprite类,然后创建了一个名为coin的实例,但coin的属性似乎没有定义。调试器在尝试运行coin.render()时说我的上下文未定义,但我看不出我的实例化有什么问题 如果需要,我可以提供html或图像 window.onload = function () { var spriteSheet = new Image(); spriteSheet.src = "spriteSheet.jpg"; //define s

这是一个用于在页面上渲染动画的脚本,我已经完成了一部分。我定义了一个sprite类,然后创建了一个名为coin的实例,但coin的属性似乎没有定义。调试器在尝试运行coin.render()时说我的上下文未定义,但我看不出我的实例化有什么问题

如果需要,我可以提供html或图像

window.onload = function () {

var spriteSheet = new Image();
spriteSheet.src = "spriteSheet.jpg";

//define sprite class

function sprite(options) {

    var that = {};

    this.context = options.context;
    this.width = options.width;
    this.height = options.height;
    this.image = options.image;

    that.render = function() {

        that.context.drawImage(
            that.image,
            0,
            0,
            that.width,
            that.height,
            0,
            0,
            that.width,
            that.height
        );

    }

    return that;

}

var canvas = document.getElementById("coinAnimation");
canvas.width = 100;
canvas.height = 100;

var coin = sprite({
        context: canvas.getContext("2d"),
        width: 100,
        height: 100,
        image: spriteSheet
});

//alert(coin.width);

coin.render();

}

据我所知,它唯一的错误是线路:

var coin = sprite({
应该是

var coin = new sprite({
第一个命令告诉JavaScript将构造函数作为函数执行。第二个命令告诉JS创建一个新实例


另外,的变量
是空对象。你需要给它分配
这个
而不是
{}
据我所知,它唯一的错误是行:

var coin = sprite({
应该是

var coin = new sprite({
第一个命令告诉JavaScript将构造函数作为函数执行。第二个命令告诉JS创建一个新实例


另外,
的变量
是空对象。你需要给它分配
这个
而不是
{}
据我所知,它唯一的错误是行:

var coin = sprite({
应该是

var coin = new sprite({
第一个命令告诉JavaScript将构造函数作为函数执行。第二个命令告诉JS创建一个新实例


另外,
的变量
是空对象。你需要给它分配
这个
而不是
{}
据我所知,它唯一的错误是行:

var coin = sprite({
应该是

var coin = new sprite({
第一个命令告诉JavaScript将构造函数作为函数执行。第二个命令告诉JS创建一个新实例



另外,
的变量
是空对象。您需要将其分配给
{}
此行:
var coin=sprite({
应为
var coin=new sprite({
未定义该.context
吗?您的意思是
var that=this
而不是
var that={}
?此行:
var coin=sprite吗({
应该是
var-coin=new-sprite({
that.context
没有定义?你的意思是
var-that=this
而不是
var-that={}
?这行:
var-coin=sprite({
应该是
var-coin=new sprite({
that.context
没有定义?你是说
var that=this
而不是
var that={}
?这一行:
var coin=sprite({
应该是
var coin=new sprite({
那.context
没有定义?你是指
var that=this
而不是
var that={}
?我尝试了,但仍然得到未捕获的TypeError:无法读取未定义的属性“drawImage”。@zbnrg变量
是一个空对象:
var={}
啊,这个和那个,我一直看到单词that,并在脑海中自动切换到这个。谢谢大家。@jakekimds说吧……我确实写了一个很好的答案,就在我去发帖的时候,有人把它标记为重复的,lolI试过了,但我仍然得到了未捕获的TypeError:无法读取未定义的属性“drawImage”。@zbnrg the变量
是一个空对象:
varthat={}
啊,这个和那个,我一直看到单词that,并在脑海中自动切换到这个。谢谢大家。@jakekimds说吧……我确实写了一个很好的答案,就在我去发帖的时候,有人把它标记为重复的,lolI试过了,但我仍然得到了未捕获的TypeError:无法读取未定义的属性“drawImage”。@zbnrg the变量
是一个空对象:
varthat={}
啊,这个和那个,我一直看到单词that,并在脑海中自动切换到这个。谢谢大家。@jakekimds说吧……我确实写了一个很好的答案,就在我去发帖的时候,有人把它标记为重复的,lolI试过了,但我仍然得到了未捕获的TypeError:无法读取未定义的属性“drawImage”。@zbnrg the变量
that
是一个空对象:
var that={};
ah,this and that,我一直看到单词that,并在脑海中自动切换到this。谢谢大家。@jakekimds继续说吧……我写了一个很好的答案,就在我发布时,有人把它标记为重复的lol