一般平时的少量测试代码, 我习惯直接在Chrome的DEV中调试, 一般的调试都没有问题, 但难免一些小概率事件, 比如调试严格模式下的代码(关于严格模式,mark在这里?严格模式), 这时候如果直接在console里输入"use strict"
是无效的,比如如下代码在console里正常输出:
'use strict'
i = 10
console.log(i) //正常输出10 ,但是严格模式下这是不合法的,因为i没有申明
据说是因为在console中的js代码是通过eval()
来执行的。解决方法是有,只是比较麻烦, 因为严格模式不仅可以针对整个脚本("use strict"
写在脚本第一行),也可以只针对函数(放在函数体的第一行)
于是在Chrome中可以这样:
(function()
{
'use strict';
i =10
console.log(i) //报错Uncaught ReferenceError: a is not defined(…)
}())
这样写的话console才会正确报错,这种写法确实比较麻烦, 说到这里不得不提下firefox的开发工具,用firefox的同学就完全没有这个问题了。 它的代码草稿纸简直是浏览器里的调试神器(Shift+F4), 不仅简单直观,而且也具备了一般的编辑器功能, 无奈用习惯了chrome的DEV,firefox我用得较少(但感觉firebug作为开发者工具绝对业界良心)。如果哪位同学还知道什么轻量简单的调试工具(直接打开就能用的!),还麻烦告诉下我。
以下是firefox的代码草稿纸:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。