最近我一直在学习一些Google Map API。我有这行代码:
var paths = this.getPath;
正确的代码行应该是:
var paths = this.getPath();
我花了太多时间来搞清楚。在Javascript中按Ctrl-Shift-J
,try catch
并没有给我一些线索。
当我使用远程API时,是否有任何工具告诉我我错了,以便将来我不会犯同样的错误?由于语法错误突出显示功能,我之前使用IDE使用Java的经验更加顺畅。
编辑:简而言之,如何在编写代码时检测到错误,而不是在运行时?
谢谢你,以及最好的问候
答案 0 :(得分:3)
如果你正在使用Chrome(我假设你来自Ctrl-Shift-J
的引用),你有一个很好的Javascript调试器,它允许你添加断点,检查变量,查看堆栈,上下移动连锁等
当您意识到自己没有收到预期的结果时,最好的策略是在调用Map API之前和之后设置断点,并检查变量之前和之后的值。这将揭示getPath
是对函数的引用而不是返回值。
作为一般提示,前置get
的属性往往是函数。如果它是属性,则可能是path
而不是getPath
。动词放弃了。
答案 1 :(得分:1)
将WebStorm用作IDE。它提供了优秀的功能,如代码完成,调试,jslint / jshint,... javascript imho的最佳IDE。
结合使用Chrome进行测试吧!
答案 2 :(得分:0)
我认为只要您将左下角的暂停按钮切换为“暂停所有异常”(淡蓝色模式),您的调试器就可以覆盖这种情况。
答案 3 :(得分:0)
IE 10开发者工具(奇怪的是Chrome的对应物,Firefox没有通知我我的错误,我正在重新测试这部分)调试可以帮助我。我会告诉你更多。