1
qqblog 2014 年 11 月 2 日
webkit内核的浏览器都有Inspector,可断点调试JavaScript
|
2
xcatliu 2014 年 11 月 2 日
一般就用 chrome 的 develop tools 吧,可以设置断点看变量值是什么。
涉及 ajax 的看看 network。 |
3
puras 2014 年 11 月 2 日
调JS一直用FireFox中的FireBug,可以断点调试,也可以直接使用console.log打印变量。。。
还可查看好多东西,如LS所说的Network等 |
4
arslion 2014 年 11 月 2 日
我比较粗暴, 直接console.log哈哈
|
5
NemoAlex 2014 年 11 月 2 日
alert 出来是 undefined,就是 undefined 咯
|
6
ibigbug 2014 年 11 月 2 日
看 network
如果嫌 alert 麻烦的话直接用 chrome 在 source 里面打断点 |
7
lincanbin 2014 年 11 月 2 日
ajax的回调里是一个匿名函数,表面看起来你这个回调函数可能包在另一个函数里,但是实际上是异步执行,已经是另一个函数了,这个回调里能使用的变量,只有全局变量。
直接在回调函数里调用包着Ajax的那个函数里的变量是最常见的JavaScript作用域错误。 |
8
cdxem713 2014 年 11 月 2 日
@lincanbin 不对吧,根据js的闭包,在回调函数里面肯定是能够用外部的局部变量的。
例如一般用ajax不都这么用么? function getSomething() { var ajax = new XmlHttpRequest(); ajax.open("get",url,true); ajax.onreadystatechange= function() { if (ajax.readyState== 4) { if (ajax.status == 200) { ........... } } }; ajax.send(null) } |
9
cdxem713 2014 年 11 月 2 日
@lincanbin 唯一会出现问题的只有settimeout和setinterval,这两个的回调函数的外部应该是全局那个域。
具体的没有描述清楚,可以写个东西试试。 |
10
zhouzm 2014 年 11 月 2 日
变量定义全加上 var ,基本上大部分变量作用域的问题就清除了,剩下的再利用 develop tools 断点调试吧
|
11
domino 2014 年 11 月 2 日
chrome console
|
12
shuson 2014 年 11 月 3 日
除了source里断点和network直接找request,response,还有其他好办法么?
不喜欢console.log打乱代码 |
13
zhhc 2014 年 11 月 3 日
chrome 的console,network,beakpoints
|
14
jprovim 2014 年 11 月 3 日
chrome做調試, 直接console.log. 與其debug不如花點時間去理解下JavaScript裡面的closure.
|