javascript - 为什么会抛出ReferenceError?

标签 javascript arrays referenceerror

我根本看不出 eventCards 是如何未初始化的。有人可以告诉我吗?

ReferenceError:无法访问未初始化的变量。 7:26 行

var eventCards = [
    'Do1',
    'Do2',
    'Do3',
    'Do4'
];
var eventDeck = new Deck(eventCards);

class Deck {
    constructor(cards) {
        this.cards = cards;
        this.deck = shuffle(cards);
    }

    shuffle(array) {
        ...
    }

    drawTopCard() {
        ...
    }
}

最佳答案

对于class变量,您需要在使用之前定义class。只需将类定义提升到顶部就可以了:

class Deck {
    constructor(cards) {
        this.cards = cards;
        this.deck = shuffle(cards);
    }

    shuffle(array) {
        ...
    }

    drawTopCard() {
        ...
    }
}

var eventCards = [
    'Do1',
    'Do2',
    'Do3',
    'Do4'
];
var eventDeck = new Deck(eventCards);

参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes

关于javascript - 为什么会抛出ReferenceError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48728642/

相关文章:

javascript - 仅在nodejs上使用mongoose列出所有GridFs元数据

javascript - 单击标签使单击单选按钮

c++ - 一个类的数组成员的内存会被分配吗?

c++ - 我的课本说数组是用 const 变量设置的。使用非 const 变量时会遇到哪些问题?

javascript - jsPDF 引用错误 : window is not defined

javascript - 上传前在angularjs Controller 中解析文件

javascript - 我的 JS 无法处理我的 html/css。不知道为什么。 (控制台错误 'ReferenceError: $ is not defined')

c++ - 如何使用 C++ 将文本文件的不同部分上传到不同的数组

JavaScript ReferenceError 被抛出到从未被引用的变量上

javascript - 开 Jest - 引用错误 : imported function is not defined