首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从不同的文件创建另一个类的实例

如何从不同的文件创建另一个类的实例
EN

Stack Overflow用户
提问于 2017-07-20 02:03:39
回答 2查看 68关注 0票数 0

对于这个非常简单的问题,我到处寻找一个容易理解的答案,但似乎找不到一个。作为一个主要的java程序员,这是一个非常令人沮丧的过程。

例如,假设我正在尝试编写一副纸牌。我这样做的方式是在card.js中有一个'Card‘类,它看起来像这样:

代码语言:javascript
复制
function Card(value, suit){
  this.value = value;
  this.suit = suit;

}

然后是deck.js中的'Deck‘类,如下所示:

代码语言:javascript
复制
function Deck(){
  this.cardArray = [];
  this.topCard = new Card(2, 'clubs');
}

Deck.prototype.shuffle = function(){
    //shuffle the deck
}

这里的问题是,我得到了一个错误,说‘意外标识符’。大概是因为js没有意识到我定义了Card类。如何才能使deck.js文件能够访问Card类?

我应该提一下,我正在尝试在没有浏览器的情况下做到这一点,所以我想我应该使用node.js (再次抱歉,我是这个环境的新手)。或者更确切地说,这将是服务器端。

EN

回答 2

Stack Overflow用户

发布于 2017-07-20 02:10:24

您需要使用导出和导入:

在卡片文件中,您将执行以下操作:

代码语言:javascript
复制
function Card(num, suit) {
    this.num = num;
    this.suit = suit
}

module.exports = Card;

然后在Deck文件中,您将执行以下操作:

代码语言:javascript
复制
var Card = require('./Card.js');

function Deck() {
    this.cardArray = [];
    this.topCard = new Card(2, 'clubs');
}

Deck.prototype.shuffle = function () {
    //shuffle the deck
};
票数 1
EN

Stack Overflow用户

发布于 2017-07-20 02:12:46

你可以使用模块系统

在您的card.js中:

代码语言:javascript
复制
const Card = function(value, suit){
 this.value = value;
 this.suit = suit;
}
module.exports = Card;

在你的deck.js中

代码语言:javascript
复制
const Card = require('./card');

function Deck(){
 this.cardArray = [];
 this.topCard = new Card(2, 'clubs');

}

 Deck.prototype.shuffle = function(){
   //shuffle the deck
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45197926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档