我有一个名为分析的全局函数,在javascript文件的开头声明
然后我有一个函数,用作stageClicked on stage事件的处理程序。
//global
var analysis
function onStageContentClicked(event){
//I use analysis
var pointId = "a point name";
if (analysis.hasPoint(pointId)){
//....do some more things
}
//...and more...
}
$(document).ready(function(){
if ($("select").val() === "Downs"){
analysis = Downs(23);
stage.on("contentClicked", onStageContentClicked);
}
});
在onStageContentClicked上的if部分,我得到一个找不到hasPoint的undefined。这意味着我的Downs对象没有设置。我在一个名为analysis.js的不同js文件中创建了一个Downs类。我用原型创建了类
function Downs (maxPoints){
this.points = {};
this.maxPoints = maxPoints
this.go_apostrophe;
this.go_apoAngle;
this.bicetrix = [];
}
Downs.prototype.addPoint = function (pos, pointId){
this.points[pointID] = {'x':pos.x, 'y':pos.y};
}
Downs.prototype.pointExists = function (pointId){
var pointIds = Object.keys(this.points);
for (var i=0; i< pointIds.length; i++){
if (pointId === pointIds[i]){
return true;
}
}
return false;
}
//etc
但是我无法创建对象。我敢打赌,我正在对calss对象做错事。你可以帮帮我吗?我在包含main document.ready code的js文件之前添加了我的analysis.js。