Javascript 类型脚本运行时错误

Javascript 类型脚本运行时错误,javascript,class,visual-studio-2013,typescript,Javascript,Class,Visual Studio 2013,Typescript,我对javascript/typescript比较陌生,我遇到了一个运行时错误,我不太理解。我试图创建一个TrailingAvg类的实例,但是当我重新标记它并生成一个javascript运行时错误时,我的代码中断了-TrailingAvg未定义。我认为我正确地设置了类,语法也被接受,但是我无法创建这个实例。在Typescript中创建类的实例需要做什么 function drawChart(n) { uri = getURLParameter("url"); se

我对javascript/typescript比较陌生,我遇到了一个运行时错误,我不太理解。我试图创建一个TrailingAvg类的实例,但是当我重新标记它并生成一个javascript运行时错误时,我的代码中断了-TrailingAvg未定义。我认为我正确地设置了类,语法也被接受,但是我无法创建这个实例。在Typescript中创建类的实例需要做什么

function drawChart(n) {
        uri = getURLParameter("url");
        setupHeader();
        setupMenu();
        var totalcount = 5;
        var prevmonth = 0;
        var trail = new TrailingAvg(n); //run time error here

    }
class TrailingAvg {
    totals: number[] = [];
    average: number;
    size: number;
    constructor(n: number) {
        this.size = n;
    }
    push(month, prevmonth, value) {
        var zeroes = month - prevmonth;
        for (var i = 0; i < zeroes; i++) {
            this.totals.shift();
            this.totals.push(0);
        }

        this.totals.push(value);
    }
    getAvg() {
        for (var i = 0; i < this.totals.length; i++) {
            this.average = this.average + this.totals[i];

        }
        return this.average;
    }
}
功能绘图图(n){
uri=getURLParameter(“url”);
setupHeader();
设置菜单();
var totalcount=5;
var prevmonth=0;
var trail=new TrailingAvg(n);//此处出现运行时错误
}
类跟踪平均值{
总数:数字[]=[];
平均:个数;
大小:数量;
构造函数(n:编号){
这个尺寸=n;
}
推送(月、上月、值){
var zeroes=月份-上个月;
对于(变量i=0;i<0;i++){
this.totals.shift();
此.totals.push(0);
}
此.totals.push(值);
}
getAvg(){
对于(var i=0;i
类定义必须在任何试图使用它的代码之前。这通常会在以下两种情况下出错:

哎呀,我现在有两个文件 问题:您有
foo.ts
并决定将其拆分为
foo.ts
bar.ts
。这将编译成
foo.js
bar.js
,但您的HTML页面只显示

<script src="foo.js"></script>
并从
animal.ts
获取未定义的运行时错误。这是因为脚本按照页面中给定的顺序执行

解决方案:按依赖项顺序排列文件:

<script src="animal.js"></script>
<script src="cat.js"></script>

这就是问题所在,我的脚本出了问题。非常感谢。
<script src="cat.js"></script>
<script src="animal.js"></script>
<script src="animal.js"></script>
<script src="cat.js"></script>