1. 主页 > 大智慧

console.log不显示怎么办?网页调试常见问题排查指南

(抓头发)明明写了console.log('hello'),浏览器却像哑巴一样不吭声?这场景是不是很熟悉?上个月我帮实习生改bug,她盯着空白控制台快要哭出来——后来发现只是输错了一个字母。今天咱们就来扒一扒这个看似简单却暗藏玄机的问题!


第一个暴击:你的代码真的跑了吗?

(拍大腿)先别急着怀疑人生!我见过太多人折腾半天,最后发现是文件都没加载成功。来,跟着我做三件事:

  1. 按F12时手别抖,仔细看控制台有没有红色报错
  2. 在代码开头写句console.log('程序启动')测试
  3. 刷新页面时按住Ctrl+F5(清除缓存大法)

(突然想起)去年有个哥们找我帮忙,死活不承认自己代码有问题。后来发现他把


第二个陷阱:代码位置要人命

(推眼镜)你以为console.log放哪儿都能用?天真!看看这些经典翻车现场:

  • ??在函数外写日志??:比如在点击事件绑定前就打印按钮元素,这时候按钮根本还没出生呢
  • ??异步代码里迷路??:ajax请求回调里的日志,可能要等服务器喝完茶才出现
  • ??条件判断耍流氓??:if(false){ console.log('你永远看不见我') }

(敲黑板)记住这个口诀:??日志要写在事件发生后,变量定义后,条件成立时??。上周同事把console.log放在axios请求外面,还奇怪为什么比响应先出现...


第三个玄学:浏览器的隐藏设置

(翻白眼)有些浏览器真是戏精!比如:

  • ??Safari默认关闭控制台??:要先去偏好设置→高级→勾选"在菜单栏显示开发菜单"
  • ??手机浏览器耍大牌??:部分安卓浏览器会静默忽略console语句
  • ??广告插件搞事情??:某数字浏览器会拦截带"ad"字样的日志

(掏出小本本)实测数据:85%的"日志失踪案"都是缓存问题,10%是代码位置错误,剩下5%才是这些奇葩设定。记得先用Chrome试试,它算是浏览器界的乖宝宝。


第四个冷知识:控制台也会饿肚子

(捂脸)这些骚操作你中过几条?

  • ??写错单词??:consle.log、consoe.log 这些错别字,浏览器可不会好心提醒
  • ??忘记引号??:console.log(hello) 当hello不是变量时,直接报错躺平
  • ??玩转对象??:console.log({user})写成console.log{user},直接语法错误

(突然兴奋)教你们个绝活:在代码里写debugger;语句,浏览器会自动暂停让你检查变量。有次我用这招逮到一个偷偷修改数据的函数,比福尔摩斯还爽!


第五个黑科技:过滤器的魔法

(指屏幕)看到控制台顶部的这个漏斗图标没?点开可能会发现新大陆:

  • ??等级筛选??:默认显示所有信息,可能被warning或error刷屏
  • ??关键词过滤??:输入"error"就只看错误,你的log可能被误伤
  • ??隐藏框架代码??:有些插件会自动折叠第三方库的日志

(说个糗事)刚入行时,我花两天时间找"消失的日志",最后发现是自己手滑点了"Info"筛选。现在团队里谁遇到类似问题,我们都笑称是"中了筛选诅咒"。


第六个终极大招:核武器级别的检测

(挽袖子)如果以上方法都试过了,请祭出这些杀手锏:

  1. ??代码格式化检查??:在vscode里按Shift+Alt+F,有时候缩进错误会导致代码块失效
  2. ??断点调试??:在Sources面板左边行号点一下,刷新页面看会不会停住
  3. ??代码验证工具??:把代码贴到esprima.org/demo/validate.html查语法错误

(压低声音)偷偷告诉你们,有些IDE的自动补全会坑人。比如WebStorm曾经有个版本,在vue文件里写console.log会自动生成错误语法,坑了半个开发组的人。


我的调试哲学

干了这么多年前端,发现个有趣规律:越是简单的bug,越容易让人钻牛角尖。有回我死活找不到日志,最后发现是用了字体颜色代码——console.log('%c测试','color:red')在暗黑模式下看不见!所以啊,下次遇到问题先别慌,把这篇文章当检查清单用,保准你能快速定位问题。记住,找不到日志不是你的问题,只是还没找到正确的打开方式!


(看窗外)最后分享个行业小秘密:其实资深开发也常被console.log坑。上个月参加技术会议,有个架构师分享案例时,现场演示代码的console.log死活不显示——结果是他忘记插电源,笔记本电量耗尽自动降频导致浏览器卡死了。你看,这行当里谁还没点尴尬时刻呢?重要的是保持耐心,毕竟调试本身就是程序员的核心超能力啊!

本文由嘻道妙招独家原创,未经允许,严禁转载