使用浏览器调试严格模式下的代码

囧囧

一般平时的少量测试代码, 我习惯直接在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的代码草稿纸:
code draft

阅读 4.2k

教练,我想写前端
蚂蚁金服海外银行诚招前端: JD:[链接] 简历请投:jiongjiong.lc@antfin.com

蚂蚁金服海外银行诚招前端:

1.8k 声望
131 粉丝
0 条评论

蚂蚁金服海外银行诚招前端:

1.8k 声望
131 粉丝
文章目录
宣传栏