我定义了一个javascript类Tank,这不是全部的代码,只是一部分,这里有属性tankDiv,tankImg,x,y(注释代码中有)
类里的函数create(x,y)虽然调用了属性并赋值,但属性的值只在create()函数中可用,如果调用position()函数,浏览器就会报错“tankDiv.style为空或不是对象”,因为浏览器认为tankDiv只是声明了,但并没有被初始化,不知道它是什么类型。。换句话说就是create()函数并不能将属性初始化,我不知道该如何解决这个问题,如果可以像java那样有构造函数就好了new对象是就可以初始化了,那在javascript中该如何初始化呢?这个问题该如何解决最好呢?function Tank(){

var timeout; //判断时间
        var tankDiv;//定义坦克的层
var tankImg;//定义坦克的图片
var x;//定义坦克的水平坐标
var y;//定义坦克的垂直坐标
var SPEED = 10;//定义坦克的移动速度

//生成坦克
this.createTank = function(x,y){
tankDiv = document.createElement("div");
tankDiv.setAttribute("id","tankDiv");
tankDiv.style.position = "absolute";
tankDiv.style.top = parseInt(x) + "px";
tankDiv.style.left = parseInt(y) + "px";
tankImg = document.createElement("img");
tankImg.setAttribute("id","tankImg");
tankImg.setAttribute("src","1/上.png");
tankDiv.appendChild(tankImg);

var bodyG = document.getElementsByTagName("body");
var thisBody = bodyG[0];
thisBody.appendChild(tankDiv);
}

//坦克的当前位置
this.position = function(){
x = tankDiv.style.left;
y = tankDiv.style.top;
}

}
用红色标记出来醒目一些。
拜托大家给我一个思路或方法。先谢谢大家了。