道歉的基本问题,但我才刚刚开始学习JS。我正在尝试制作二十一点游戏,然后通过创建构造函数(用于卡片)从.js文件开始,然后在该函数中定义了一种方法。这是我的.js文件中的代码(由于长度约70行,我没有显示实际的cardToString函数中的内容):编辑:有人要求我包括整个代码,所以这里是:
function Card(rank, suit) {
this.rank = rank;
this.suit = suit;
this.toString = cardToString;
this.createNode = cardCreateNode;
}
function cardToString() {
var rank;
var suit;
switch (this.rank) {
case "A" :
rank = "Ace";
break;
case "2" :
rank = "Two";
break;
case "3" :
rank = "Three";
break;
case "4" :
rank = "Four";
break;
case "5" :
rank = "Five";
break;
case "6" :
rank = "Six";
break;
case "7" :
rank = "Seven";
break;
case "8" :
rank = "Eight";
break;
case "9" :
rank = "Nine";
break;
case "10" :
rank = "Ten";
break;
case "J" :
rank = "Jack";
break;
case "Q" :
rank = "Queen";
break;
case "K" :
rank = "King";
break;
default :
rank = null;
break;
}
switch (this.suit) {
case "C" :
suit = "Clubs";
break;
case "D" :
suit = "Diamonds";
break;
case "H" :
suit = "Hearts";
break;
case "S" :
suit = "Spades";
break;
default :
suit = nill;
break;
}
if (rank == null || suit == null)
return "";
else
return rank + " of " suit;
}
$(document).ready(function() {
$("#deal").click(function() {
$("#hit").fadeOut('slow');
});
});
我完全感到困惑,因为当我将其放入.js文件时,jQuery无法正常工作,但是当我注释掉除jQuery之外的所有内容时,jQuery都可以正常工作。我确定这只是我不了解的基本知识,但是我搜索了一段时间却找不到答案。基本上,我不知道为什么我的JS的前几步会阻止jQuery正常工作。
编辑:有人问我是否检查了控制台的错误,并且确定我确实得到了一个:
未捕获的SyntaxError:意外的标识符
紧接着,它说“ jsjquery.js:4”,我认为4是指代码行,它在开始时是一个空行(我在前几行中有一些注释,然后在开始编码前就留下了一行)。我删除了空行,现在它说错误在第80行,这是这段代码:
return rank + " of " suit;
当我注释掉除jQuery之外的所有内容时,此错误就会消失。这可能使所有人都清楚了,但是我仍然迷路了!
谢谢。
编辑:好的,我保证最后的编辑,哈哈。对于可能遇到此问题并寻求答案的任何人:我犯了两个语法错误,但真正的问题是我没有定义cardCreateNode方法。我没有意识到不这样做会导致其他所有内容都无法运行。谢谢所有回复的人!
由于您根据发帖的更新有其他错误,因此我将回答您的最新问题,因为您在此行收到错误:
return rank + " of " suit;
您缺少“”另一边的串联,因此它应如下所示:
return rank + " of " + suit;
同样在您的switch语句中,您具有以下这一行:
default :
suit = nill;
break;
我认为在这里,您的意思是将值设置为null而不是nill,如下所示:
default :
suit = null;
break;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句