我正在用javascript製作遊戲,並且我正在使用一個類來保存所有的精靈。但是,當我嘗試運行它時,Safari會給我「SyntaxError:意外使用保留字'class'」。我找不到應該這樣做的理由。下面是我的代碼:爲什麼我在Javascript中使用「class」時出現語法錯誤
var spritesContext;
//Sprite class
class sprite{
constructor(imageName, imageX, imageY, imageHeight, imageWidth, context, canvas){
this.imageName = imageName;
this.imageX = imageX;
this.imageY = imageY;
this.imageHeight = imageHeight;
this.imageWidth = imageWidth;
this.canvas = canvas;
this.context = context;
spritesContext = context;
console.log("Sprite constructed");
}
draw(){
var character = new Image();
character.src = "../Images/" + this.imageName + ".png";
character.onload = function(){
spritesContext.drawImage(character, this.imageX, this.imageY, this.imageWidth, this.imageHeight);
console.log("Inner Draw is working.");
}
console.log("Draw is working.");
}
function getHeight(){
return this.imageHeight;
}
function getWidth(){
return this.imageWidth;
}
function getX(){
return this.imageX;
}
function getY(){
return this.imageY;
}
function moveUpX(e){
this.imageX = (this.imageX + e);
}
function moveUpY(e){
this.imageY = (this.imageY + e);
}
function moveBackX(e){
this.imageX = (this.imageX - e);
}
function moveBackY(e){
this.imageY = (this.imageY - e);
}
function changeImage(e){
this.imageName = e;
}
function getImage(){
return this.imageName;
}
function changeX(e){
this.imageX = e;
}
function changeY(e){
this.imageY = e;
}
}
「一流」是一個新事物 - 您使用的是哪個版本的JavaScript引擎? – Soren
這是ES6中的關鍵字。你用什麼瀏覽器/環境? – zero298
你不能在這樣的類中聲明函數,這是一個錯誤 – adeneo