【问题标题】:java script manager is not defined未定义 java 脚本管理器
【发布时间】:2021-02-20 13:08:30
【问题描述】:

大家好,我正在尝试在 javascript 中创建二十一点,但我有一个问题,我不知道为什么它说当我有一个 entira 脚本时没有定义二十一点管理器

 let blackjack_manager = function (){

      let game = null;

function debug(an_object) {
    document.getElementById("debug").innerHTML = JSON.stringify(an_object);
}

function buttons_initialization(){
    document.getElementById("card").disabled     = false;
    document.getElementById("stand").disabled     = false;
    document.getElementById("new_game").disabled = true;
}

function finalize_buttons(){
    document.getElementById("card").disabled     = true;
    document.getElementById("stand").disabled     = true;
    document.getElementById("new_game").disabled = false;
}

function new_game(){
    let cards = null;
    game = new BlackJack();

    dealer_new_card();
    dealer_new_card();
    cards = game.get_dealer_cards();
    cards[1] = "X";
    document.getElementById("dealer").innerHTML = JSON.stringify(cards);

    player_new_card();
    buttons_initialization();

    document.getElementById("card").addEventListener("click",player_new_card);
    document.getElementById("stand").addEventListener("click",dealer_finish);
    document.getElementById("new_game").addEventListener("click",new_game);
    debug(game);
}

function update_dealer(state){
 if(state.gameEnded){
     let cards = game.get_dealer_cards();
     let msg = JSON.stringify(cards);

    if (state.dealerWon){
        msg = msg +"Win";
    }
    else {
        msg = msg + "lose";
    }
   document.getElementById("dealer").innerHTML = msg;
   finalize_buttons();
  }

}

function update_player(state){
    let cards = game.get_dealer_cards();
    let msg = JSON.stringify(cards);
        
   if(state.gameEnded){
       if (state.pBust ){
           msg = msg +"Lost";
       }
       else {
           msg = msg + "Win";
       }
        finalize_buttons();
    }
      document.getElementById("dealer").innerHTML = msg;

}

function dealer_new_card(){
 let state = game.dealer_move();
 update_dealer(state);
 debug(game);
 return state;
}

function player_new_card() {
    let state = game.player_move();
    update_player(state);
    debug(game);
    return state;

}

function dealer_finish(){
    let state = game.get_game_state();

    game.setDealerTurn(true);
    while(!state.gameEnded){
        update_dealer(state);
        dealer_new_card();
        state= game.get_game_state();
        debug(game);
    }

}
return{
    new_game= new_game
}
}();

这是出现问题的html

 !DOCTYPE html>
<html>

  <head>
    <meta charset="UTF-8">
    <script src="js/blackjack_object.js"></script>
    <script src="js/blackjack_manager.js"></script>
    <title>BlackJack</title>
  </head>

  <body>
    <header>
      <h1>BLACKJACK</h1>
      
    </header>

    <section id="game">
      <h1>Dealer</h1>
      <p id="dealer"></p>
      <h1>Player</h1>
      <p id="player"></p>
      <button id="card" type="button" >Card</button>
      <button id="stand" type="button">Stand</button>
      <button id="new_game" type="button" disabled>New Game</button>
    </section>

    <section id="sec_debug">
      <h1>Debug</h1>
      <p id="debug"></p>
    </section>

    <section>
      <script> window.onload = blackjack_manager.newgame </script>
    </section>
    <footer></footer>
  </body>

</html> 

这里有问题

错误 1:Uncaught SyntaxError: Invalid shorthand property initializer 没有可用的调试器,无法发送“变量”

error " :Uncaught ReferenceError: blackjack_manager is not defined tp2/blackjack_19 alunos/blackjack_oop.html:33 没有可用的调试器,无法发送“变量”

【问题讨论】:

  • 错误似乎认为你有语法错误。
  • new_game= new_game 是您为变量赋值的方式,但您返回的是一个对象,因此= 应该是:。请记住 `Invalid shorthand property initializer` 可能意味着这个问题。
  • 是的,这是 Invalid shorthand property initializer 的问题,谢谢。但我仍然有经理问题

标签: javascript html blackjack


【解决方案1】:

new_game= new_game 是你如何为变量赋值,但我返回一个对象,所以 = 应该是: 这解决了 Invalid shorthand property initializer`

【讨论】:

    【解决方案2】:

    您的二十一点 js 可能尚未加载。将您的脚本放在页面最底部的最后一个body 标记之前,最后是window.onload 脚本。如有必要,请使用defer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 2017-05-16
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多