为什么我的JS代码的其余部分不让JQuery运行

Why is the rest of my JS code not letting my JQuery run?

本文关键字:JQuery 运行 余部 我的 JS 代码 为什么      更新时间:2023-09-26

为基本问题道歉,但我刚刚开始学习JS。我试图构建一个21点游戏,我在我的。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指的是代码行,这是一开始的空行(我对前几行有一些评论,然后在我开始编码之前留下一行)。我删除了空行,现在它显示错误在第80行,也就是这段代码:

 return rank + " of " suit;

当我注释掉除了jQuery之外的所有内容时,这个错误就消失了。这可能会让你们明白一切,但我还是迷路了!

谢谢。编辑:好的,最后的编辑,我保证,哈哈。对于那些可能遇到这个问题寻找答案的人:我犯了几个语法错误,但真正的问题是我没有定义cardCreateNode方法。我没有意识到不这样做会导致其他所有东西都不能运行。感谢所有回复的人!

default :
        suit = nill;
        break;

意外标识符是语法错误。显然你这里指的是null,而不是nil

既然你有一个不同的错误基于你的帖子更新,我将回答你的最新问题是,你收到一个错误在这一行:

return rank + " of " suit;

你错过了" of "的另一边的连接,所以它应该是这样的:

return rank + " of " + suit;

同样在你的switch语句中有这一行:

default :
    suit = nill;
    break;

我想你这里的意思是将值设置为null而不是nil,看起来像这样:

default :
    suit = null;
    break;