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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值