【发布时间】:2016-10-12 22:28:48
【问题描述】:
为这个基本问题道歉,但我才刚刚开始学习 JS。我正在尝试构建一个二十一点游戏,我从我的 .js 文件开始,通过创建一个构造函数(用于卡片),然后我在该函数中定义了一个方法。这是我的 .js 文件中的代码(我没有显示实际 cardToString 函数内部的内容,因为它大约有 70 行长): 编辑:有人问我包含整个代码,所以这里是:
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 之外的所有内容时,它工作正常。我确定这是我不知道的基本问题,但是我已经搜索了一段时间,但找不到答案。基本上,我不知道为什么我的前几位 JS 会阻止 jQuery 工作。
编辑:有人问我是否检查了控制台是否有错误,果然我得到了一个:
Uncaught SyntaxError: Unexpected identifier
旁边写着“jsjquery.js:4”,我认为 4 是指代码行,它在开头是一个空行(我在前几行有一些 cmets,然后在前面留了一行我开始编码)。我删除了空行,现在它说错误在第 80 行,就是这段代码:
return rank + " of " suit;
当我注释掉除 jQuery 之外的所有内容时,此错误就会消失。 这可能会让你们明白一切,但我还是迷路了!
谢谢。
编辑:好的最终编辑我保证,哈哈。对于任何可能遇到这个问题并寻找答案的人:我犯了几个语法错误,但真正的问题是我没有定义方法 cardCreateNode。我没有意识到不这样做会导致其他一切都无法运行。感谢所有回复的人!
【问题讨论】:
-
您检查浏览器控制台是否有错误?
-
您是否发布了所有代码?
cardCreateNode未在您发布的任何地方定义。 -
见How to debug javascript。有很多关于如何开始和学习如何调试的非常好的博客/文章/问题。
-
分享你遇到的错误...
-
不行,相关的代码应该贴在这里。
标签: javascript jquery