我是 JavaScript 新手,遇到了一些问题。
我想在 js5.js 文件中创建 Obstacle 对象的实例,但我不断收到此错误消息:
Uncaught ReferenceError: Obstacle is not defined at window.onload
这就是我所做的,我不应该修改创建 Obstacle 的文件,我必须处理 js5.js 文件。
js5.js 文件:
window.onload = function(){
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var posX = 30;
var posY = 375;
var posyInit = 375;
var theta = 0;
var pas = 0;
var ligne = 2;
var droite = true;
var compteur = 0;
var o1 = new Obstacle(0,0,27,27);
var o2 = new Obstacle(184,84,134,67);
var toto = new Array(o1,o2);
obstacle.js:
function Obstacle (p_x,p_y,p_largeur,p_hauteur) {
this.x = p_x;
this.y = p_y;
this.largeur = p_largeur;
this.hauteur = p_hauteur;
Obstacle.prototype.notAllowed = function(a,b){
if (a>=this.x&&a<=this.x+this.largeur&&b>=this.y&&b<=this.y+this.hauteur)
return true;
else
return false;
};
感谢您的帮助:)
最佳答案
我尝试测试您提供的代码。文件和/或代码片段中仅缺少右大括号。请检查下面给出的代码,如果我遗漏了什么,请告诉我。目前无法复制 Uncaught ReferenceError 。
window.onload = function(){
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var posX = 30;
var posY = 375;
var posyInit = 375;
var theta = 0;
var pas = 0;
var ligne = 2;
var droite = true;
var compteur = 0;
var o1 = new Obstacle(0,0,27,27);
var o2 = new Obstacle(184,84,134,67);
var toto = new Array(o1,o2);
}
// obstacle.js:
// ==========================
function Obstacle (p_x,p_y,p_largeur,p_hauteur) {
this.x = p_x;
this.y = p_y;
this.largeur = p_largeur;
this.hauteur = p_hauteur;
}
Obstacle.prototype.notAllowed = function(a,b){
if (a>=this.x&&a<=this.x+this.largeur&&b>=this.y&&b<=this.y+this.hauteur)
return true;
else
return false;
};
<canvas id="canvas"></canvas>
我假设您在您的index.html 文件中导入了两个.js 文件。
<html>
<head>
<script src="./obstacle.js></script>
<script src="./js5.js></script>
</head>
</html>
我希望这会有所帮助。
谢谢, 吉格内什·拉瓦尔
关于javascript - 如何将对象从另一个文件实例化到另一个文件 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59544609/