Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 协助使用Js对象构造函数_Javascript - Fatal编程技术网

Javascript 协助使用Js对象构造函数

Javascript 协助使用Js对象构造函数,javascript,Javascript,我正在开发一个javascript应用程序,在使用对象构造函数时遇到了一些问题。我将把牌组中的每一张牌都做成一个对象,然后就开始构建这些对象的数组。以下是我所拥有的: 功能卡(suit1,number1)//构造函数 { this.suit1=suit1; 这个。number1=number1; } 函数makeDeck1(){ var deck1=新数组() deck1[0]=新卡('S','A'); deck1[1]=新卡('S','1'); } 函数myFunction(){ makeD

我正在开发一个javascript应用程序,在使用对象构造函数时遇到了一些问题。我将把牌组中的每一张牌都做成一个对象,然后就开始构建这些对象的数组。以下是我所拥有的:

功能卡(suit1,number1)//构造函数
{
this.suit1=suit1;
这个。number1=number1;
}
函数makeDeck1(){
var deck1=新数组()
deck1[0]=新卡('S','A');
deck1[1]=新卡('S','1');
}
函数myFunction(){
makeDeck1();
警报(“gman”+deck1);
}
Blackjack

Click me
控制台正在给出正确的错误,因为
myFunction()
中不存在
deck1
,它是在
makeDeck1()
中声明的,它的作用域仅限于此函数,您需要返回它并将其分配给
myFunction()
中的一个变量才能使用它

功能卡(套件1,编号1){
this.suit1=suit1;
这个。number1=number1;
}
函数makeDeck1(){
var deck1=[];//避免使用新的数组构造函数
deck1.推送(新卡('S','A'));
deck1.推送(新卡('S','1'));
返回甲板1;
}
函数myFunction(){
var deck1=makeDeck1();
警报('gman'+JSON.stringify(deck1));
控制台日志(deck1);
}
Blackjack

Click me
控制台正在给出正确的错误,因为
myFunction()
中不存在
deck1
,它是在
makeDeck1()
中声明的,它的作用域仅限于此函数,您需要返回它并将其分配给
myFunction()
中的一个变量才能使用它

功能卡(套件1,编号1){
this.suit1=suit1;
这个。number1=number1;
}
函数makeDeck1(){
var deck1=[];//避免使用新的数组构造函数
deck1.推送(新卡('S','A'));
deck1.推送(新卡('S','1'));
返回甲板1;
}
函数myFunction(){
var deck1=makeDeck1();
警报('gman'+JSON.stringify(deck1));
控制台日志(deck1);
}
Blackjack
单击我
请不要对此进行投票,因为这是一个微不足道的答案,只是有帮助而已

问题是您的变量只存在于
makeDeck1()
的范围内。您需要像这样返回值:

功能卡(suit1,number1)//构造函数
{
this.suit1=suit1;
这个。number1=number1;
}
函数makeDeck1(){
var deck1=新数组()
deck1[0]=新卡('S','A');
deck1[1]=新卡('S','1');
return deck1;//返回它
}
函数myFunction(){
var deck1=makeDeck1();//在此处定义它
警报('gman'+JSON.stringify(deck1));//序列化它
}
Blackjack
单击我
请不要对此进行投票,因为这是一个微不足道的答案,只是有帮助而已

问题是您的变量只存在于
makeDeck1()
的范围内。您需要像这样返回值:

功能卡(suit1,number1)//构造函数
{
this.suit1=suit1;
这个。number1=number1;
}
函数makeDeck1(){
var deck1=新数组()
deck1[0]=新卡('S','A');
deck1[1]=新卡('S','1');
return deck1;//返回它
}
函数myFunction(){
var deck1=makeDeck1();//在此处定义它
警报('gman'+JSON.stringify(deck1));//序列化它
}
Blackjack

单击我
为什么不像使用卡片那样使用一个类呢?(P.S.课程应以大写字母开头)

功能卡(套装、号码){
这套衣服;
这个数字=数字;
}
Card.prototype.toString=函数(){
返回此.suit+此.number;
};
功能组(){
this.deck=[新卡('S','A'),新卡('S','1')];
}
Deck.prototype.toString=函数(){
返回此.deck.join(“,”);
};
函数myFunction(){
var甲板=新甲板;
控制台日志('gman:'+甲板);
}
Blackjack

单击我
为什么不像使用卡片那样使用一个类呢?(P.S.课程应以大写字母开头)

功能卡(套装、号码){
这套衣服;
这个数字=数字;
}
Card.prototype.toString=函数(){
返回此.suit+此.number;
};
功能组(){
this.deck=[新卡('S','A'),新卡('S','1')];
}
Deck.prototype.toString=函数(){
返回此.deck.join(“,”);
};
函数myFunction(){
var甲板=新甲板;
控制台日志('gman:'+甲板);
}
Blackjack

单击我
请不要对此进行投票,因为这是一个微不足道的答案,只是有帮助而已=>upvote;)请不要对此进行投票,因为这是一个微不足道的答案,只是有帮助=>upvote;)感谢大家的帮助,因为我正在努力掌握Javascript。在过去的30天里,我取得了很大的进步,但显然在范围和对象等方面还需要一些学习……感谢大家的帮助,因为我正在努力掌握Javascript。在过去的30天里,我取得了很大的进步,但显然在范围和对象等方面还需要一些学习……感谢大家的帮助,因为我正在努力掌握Javascript。在过去的30天里,我取得了很大的进步,但显然在范围和对象等方面还需要一些学习……感谢大家的帮助,因为我正在努力掌握Javascript。在过去的30天里,我取得了很大的进步,但显然还需要学习范围和对象等方面的知识。。。。