Javascript中Java的System.out.println()相当于什么?

时间:2012-01-04 19:59:52

标签: java javascript compile-time println system.out

我正在为Javascript代码编写一些测试,我需要在遇到错误时在编译过程中转储一些消息。

Javascript中是否有与Java System.out.println()相同的内容?

P.S。:我还需要在实施测试时转储调试语句。

更新

我在包含所有合并测试的文件上使用maven插件:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                <phase>test</phase>
                <goals>
                    <goal>java</goal>
                </goals>
                </execution>
            </executions>
            <configuration>
                <mainClass>org.mozilla.javascript.tools.shell.Main</mainClass>
                <arguments>
                    <argument>-opt</argument>
                    <argument>-1</argument>
                    <argument>${basedir}/src/main/webapp/html/js/test/test.js</argument>
                </arguments>
            </configuration>
        </plugin>

更新II

我试过了console.log("..."),但我得到了:

js: "src/main/webapp/html/js/concat/tests_all.js", line 147:
uncaught JavaScript runtime exception: ReferenceError: "console" is not defined

我正在测试的代码是一组函数(比如在库中)。我正在使用QUnit。

8 个答案:

答案 0 :(得分:21)

如果浏览器有支持控制台,则基本上为console.log("Put a message here.")

另一种典型的调试方法是使用警报alert("Put a message here.")

RE:更新II

这似乎是有意义的,你试图自动化QUnit测试,从我在QUnit上读到的这是一个浏览器内单元测试套件/库。 QUnit期望在浏览器中运行,因此期望浏览器识别您正在调用的所有JavaScript函数。

根据您的Maven配置,您似乎正在使用Rhino在命令行/终端执行您的Javascript。这不适用于测试浏览器细节,您可能需要查看Selenium。如果您不关心在浏览器中测试JavaScript,而只是在命令行级别测试JavaScript(因为我不熟悉),Rhino会认识到 print() 用于评估表达式并将其打印出来的方法。结帐this documentation

您可能会对这些链接感兴趣。

QUnit and Automated Testing

JavaScript Unit Tests with QUnit

答案 1 :(得分:3)

我找到了解决方案:

print("My message here");

答案 2 :(得分:3)

我正在使用Chrome和 print()从字面上将文字打印在纸上。这对我有用:

document.write("My message");

答案 3 :(得分:2)

console.log()

Chrome,Safari和IE 8+都带有内置控制台(作为更多开发工具的一部分)。如果您使用的是Firefox getfirebug.com

答案 4 :(得分:0)

除非您在浏览器中使用某种“开发者”工具,否则至少没有一个,例如Firefox中的Firebug或Safari中的Developer工具。然后你通常可以使用console.log

如果我在iOS设备上做某事,我可能会添加<div id="debug" />,然后登录到它。

答案 5 :(得分:0)

您始终可以在函数中的任何位置添加alert()提示。特别适用于了解函数是否被调用,函数是否已完成或函数失败的情况。

alert('start of function x');
alert('end of function y');
alert('about to call function a');
alert('returned from function b');

你明白了。

答案 6 :(得分:0)

我也要提出同样的问题。但是从我从codeacademy.com下面学到的代码就足以显示输出或文本了吗?

print("hello world")  

答案 7 :(得分:0)

在Java System.out.println()中输出一些内容进行控制台。在javascript中,可以使用console.log()来实现。

您需要通过按F12键(打开开发人员工具,然后切换到console标签)来查看浏览器控制台。