Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在谷歌中分块输出消息?_Javascript_Blockly - Fatal编程技术网

Javascript 如何在谷歌中分块输出消息?

Javascript 如何在谷歌中分块输出消息?,javascript,blockly,Javascript,Blockly,我玩得很开心,已经到了可以编写完整javascript的地方(newdate().getTime();非常方便) 尽管控制台是用Chrome(ctrl-shift-j)打开的,但我似乎无法用console.log(“test”)在游戏中。当我看到: // Starting battle with 2 players. compressed.js:420 // [Player] throws an error: Unknown identifier:

我玩得很开心,已经到了可以编写完整javascript的地方(
newdate().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
如果我尝试使用
警报(“测试”)
,情况也是如此

我想调试,但我发现的唯一输出形式是操纵duck和抛出未知标识符。有办法走出这个沙箱吗

更新:有一些恢复控制台的想法,但在这种情况下似乎不起作用

更新:需要澄清的是,这就是chrome在遇到此错误时的样子


找到了一个棘手的解决办法:

  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;
  }
}

这是可行的,但上帝知道我希望有更好的办法。

这很奇怪。所以您肯定代码得到了执行,是的,代码块以某种方式抑制了console.log和alert?我想知道,如果您在调试器中单步执行alert,会发生什么情况。@tit。我可以很好地运行其他代码,但由于某些原因,blockly未定义控制台,因此我没有引用它。我很想一步一步地讲,但是当player.js(我的代码)甚至没有在Chrome的调试器中显示为文件时,我该怎么做呢?这很奇怪。为什么它不显示在调试器中?HTML是否显示在调试器中?为什么不在html中设置断点,从嵌入(不包括)的javascript调用代码,然后从那里开始呢?@titаааtit。只要断点位于一个块源(common/boot.js等)中,我就可以设置和命中断点。问题是,在那之后,我找到了进入代码(player.js)的方法。你能找到一个设置断点的好地方吗?我怀疑我能找到的最接近它的方法就是跟踪运行我代码的解释器。你还发现这个问题吗?我可以在Javascript代码中从我的Google Chrome控制台引用
console.log
alert
。@Error404是的,刚刚尝试过:“[Player]抛出错误:未知标识符:控制台”@Error404“[Player]抛出错误:未知标识符:警报”你是想用自定义的例子还是谷歌的例子?你在这个问题上提供的第二个链接被破坏了,所以我看不出你想在哪里这样做。我在自定义示例中使用了
console.log
,效果非常好。@Error404我在页面提供的javascript字段中执行此操作,您可以在其中编写所有代码。以
加农炮(0,70)开始的字段在其中。我已经修好了链接。你说它适合你,但我不能让它在chrome、firefox或IE上工作。你能告诉我一些你如何让它工作的细节吗?