0

最近我一直在学习一些 Google Map API。我有这行代码:

var paths = this.getPath;

正确的代码行应该是:

var paths = this.getPath();

我花了太多时间来弄清楚它。在 Javascript 中按Ctrl-Shift-J,try catch并没有给我任何线索。

当我使用远程 API 时,是否有任何工具告诉我我错了,这样我以后就不会犯同样的错误?由于语法错误突出显示功能,我以前使用 IDE 使用 Java 的经验要顺畅得多。

编辑:简而言之,我如何在编写代码时检测到错误,而不是在运行时检测到错误?

感谢你并致以真诚的问候

4

4 回答 4

3

如果您使用的是 Chrome(我假设您来自您对 的引用Ctrl-Shift-J),那么您有一个出色的 Javascript 调试器,它允许您添加断点、检查变量、查看堆栈、在链中上下移动等。

当您意识到您没有收到预期的结果时,最好的策略是在调用 Map API 时和之后设置断点,并在之前和之后检查变量的值。这将表明这getPath是对函数的引用,而不是返回值。

作为一般提示,前置属性get往往是函数。如果它是一个属性,它可能pathgetPath. 动词给出了它。

于 2012-12-20T16:38:40.070 回答
1

使用 WebStorm 作为 IDE。它提供了出色的功能,如代码完成、调试、jslint/jshint,... javascript imho 的最佳 IDE。

结合 Chrome 来测试它的效果!

于 2012-12-20T23:29:49.473 回答
0

IE 10 开发人员工具(奇怪的是 Chrome 的对应物,Firefox 未能通知我我的错误,我正在重新测试这部分)调试可以帮助我。我会通知你更多。

于 2012-12-21T06:45:31.463 回答
0

我认为,只要您将左下角的暂停按钮切换为“在所有异常时暂停”(浅蓝色模式),您的调试器就可能会涵盖这些情况。

于 2012-12-20T16:36:53.937 回答