【问题标题】:Typescript Runtime Errors打字稿运行时错误
【发布时间】:2014-07-11 15:14:26
【问题描述】:

我对 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;
    }
}

【问题讨论】:

    标签: javascript class visual-studio-2013 typescript


    【解决方案1】:

    类定义必须出现在任何试图使用它的代码之前。这通常会以以下两种方式之一出错:

    糟糕,我现在有两个文件

    问题:您拥有foo.ts,并决定将其拆分为foo.tsbar.ts。这会编译成 foo.jsbar.js,但您的 HTML 页面只显示

    <script src="foo.js"></script>
    

    解决方案:修复您的 HTML 页面以添加额外的脚本标签:

    <script src="foo.js"></script>
    <script src="bar.js"></script>
    

    什么是脚本顺序?

    问题:您有animal.tscat.ts,其中cat.tsanimal.ts 有一些依赖。您将 HTML 编写为:

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

    并从 animal.ts 得到一个关于未定义的运行时错误。这是因为脚本按照页面中给出的顺序执行。

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

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

    【讨论】:

    • 这就是问题所在,我的脚本乱序了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    相关资源
    最近更新 更多