如何在Googles中输出消息?

时间:2015-01-31 15:51:46

标签: javascript blockly

我在https://blockly-games.appspot.com上有一点乐趣,并且必须the last level,你可以写完整的javascript(new Date().getTime();非常方便)。

尽管在Chrome中打开控制台(ctrl-shift-j)我似乎无法在游戏中使用console.log("test");向其写任何内容。当我这样做时,我看到:

// Starting battle with 2 players.                         compressed.js:420
// [Player] throws an error: Unknown identifier: console   compressed.js:423
// undefined                                               compressed.js:423
// [Player] dies.                                          compressed.js:416

然而,如果我在控制台中输入console.log("hmm");,我会正确看到:

// console.log("hmm"); 
// hmm                                                     VM1038:2 
// undefined

如果我尝试使用alert("test"),则相同。

我想调试,但我发现的唯一输出形式是操纵鸭子并抛出未知标识符。这个沙箱有什么办法吗?

更新:How do I print debug messages in the Google Chrome JavaScript Console?有一些恢复控制台的想法,但在这种情况下它们似乎不起作用。

更新:只是要清楚这是遇到此错误时Chrome的样子。

enter image description here

1 个答案:

答案 0 :(得分:0)

找到了一个kludgey解决方法:

  throw "\nYour message here.";

显示器:

//  [Player] throws an error: Unknown identifier:         compressed.js:423 
// Your message here.                                     
//  undefined                                             compressed.js:423 
//  [Player] dies.                                        compressed.js:416

杀死自己只是为了记录某些内容可能看起来很苛刻,但现在你可以写出一些时髦的断言。

function assertTrue(test, message) {
  if (!test) {
    throw message;
  }
}

它有效,但主知道我希望有更好的方法。