首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

14个你可能不知道的JavaScript调试技巧

可以通过查看并滚动浏览,亦或者使用展开,更容易看到正在处理的内容! 输出: 3. 使用不同屏幕尺寸 在桌面上安装不同移动设备模拟器非常棒,但现实确是不可行的。如何调整窗口大小呢?...Chrome提供了所需的一切。跳到控制台并点击‘切换设备模式’按钮。观察窗口变化即可! 4. 如何快速找到DOM元素 在Elements面板中标记一个DOM元素,并在控制台中使用它。...使用和测试循环 要得知某些代码的执行时间,特别是调试缓慢循环时,非常有用。 甚至可以通过给方法传入不同参数,来设置多个定时器。来看看它是怎么运行的: 运行产生了一下结果: 6....快速查找要调试的函数 假设你要在函数中打断点,最常用的两种方式是: 在控制台查找行并添加断点 在代码中添加 在这两个解决方案中,您必须在文件中单击以调试特定行。 使用控制台打断点可能不太常见。...也许还可以像wlog,clog和mlog一样发挥想象力! 11. 观察特定函数的调用及参数 在Chrome控制台中,可以观察特定的函数。每次调用该函数,就会打印出传入的参数。

1.7K90

14个你可能不知道的JavaScript调试技巧

熟悉工具可以让工具在工作中发挥出更大的作用。尽管江湖传言 JavaScript 很难调试,但如果你掌握了几个技巧,就能用很少的时间来解决错误和bug....一起来看 大多数技巧都适用于Chrome控制台和Firefox, 尽管还有很多其他的调试工具,但大部分也适用。...使用不同屏幕尺寸 在桌面上安装不同移动设备模拟器非常棒,但现实确是不可行的。如何调整窗口大小呢?Chrome提供了所需的一切。跳到控制台并点击‘切换设备模式’按钮。观察窗口变化即可! ? 4....如何快速找到DOM元素 在Elements面板中标记一个DOM元素,并在控制台中使用它。...使用 console.time() 和 console.timeEnd() 测试循环 要得知某些代码的执行时间,特别是调试缓慢循环时,非常有用。 甚至可以通过给方法传入不同参数,来设置多个定时器。

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    14个你可能不知道的JavaScript调试技巧

    以更快的速度和更高的效率来调试JavaScript 熟悉工具可以让工具在工作中发挥出更大的作用。...一起来看 大多数技巧都适用于Chrome控制台和Firefox, 尽管还有很多其他的调试工具,但大部分也适用。...使用不同屏幕尺寸 在桌面上安装不同移动设备模拟器非常棒,但现实确是不可行的。如何调整窗口大小呢?Chrome提供了所需的一切。跳到控制台并点击‘切换设备模式’按钮。观察窗口变化即可! ? 4....如何快速找到DOM元素 在Elements面板中标记一个DOM元素,并在控制台中使用它。...使用 console.time() 和 console.timeEnd() 测试循环 要得知某些代码的执行时间,特别是调试缓慢循环时,非常有用。 甚至可以通过给方法传入不同参数,来设置多个定时器。

    1.1K60

    JS调试工具,万能的Console,你知道还能这样玩吗?

    Console是用于显示JS和DOM对象信息的单独窗口。并且向JS中注入1个 Console 对象,使用该对象可以输出信息到Console窗口中。 什么浏览器支持console?...很多人可能都知道 Chrome 和 FireFox(FireBug)中都支持 Console。而其他浏览器都支 持不好。...现在firebug推出了firebuglite工具,可以让所有浏览器都支持Console功能,而且使用上和FireBug 几乎一样。 为什么不直接使用 alert 或自己写的 log?...,Chrome 和 FireBug 支持 console.clear 该方法会清空 console 控制台中的所有信息 console.dirxml 显示网页的某个节点(node)所包含的html/xml...console.dir 直接将该DOM结点以DOM树的结构进行输出 结语 以上就是本文的全部内容了,任何问题欢迎留言指正,更详细的解释可以去查看官方API: https://evelopers.google.com

    1.7K20

    如何优雅的使用 JavaScript 控制台

    所有的例子我都在 Chrome 和 Firefox 下做了测试,但取决于你的浏览器,你所得到的输出内容可能会有所不同。...有四种不同的方式可用于在控制台中输出信息: log info warn error 这四种的工作方式是一样的。你所要做的只是在选定的方法上传递一个或多个参数。...现在通过使用字符串替换我们可以让console显示不同的颜色。 我将运行一个伪装的 Ajax 例子来展示成功(绿色)和失败(红色)的消息。...这将会以它们相应的颜色输出单词:‘red’, ‘blue’ 和 ‘white’。 控制台支持不少 CSS 属性。我推荐你试验一下哪个行哪个不行。再说一遍,你的结果可能会因你所用的浏览器而有所不同。...Time() time方法,像上面的group方法一样,也有两个部分。 一个启动计时器的方法和一个停止它的方法。 一旦计时器完成,将会以毫秒为单位输出总的执行时间。

    1.1K20

    Chrome 控制台console的用法(学了之后对于调试js可是大大有用的哦)

    7、console.group输出一组信息的开头 8、console.groupEnd结束一组输出信息 看你需求选择不同的输出方法来使用,如果上述四个方法再配合group和groupEnd方法来一起使用就可以输入各种各样的不同形式的输出信息...11、console.dir(这个方法是我经常使用的 可不知道比for in方便了多少)直接将该DOM结点以DOM树的结构进行输出,可以详细查对象的方法发展等等 ?...比如用上键就相当于使用上次在控制台的输入符号 2、$_命令返回最近一次表达式执行的结果,功能跟按向上的方向键再回车是一样的 ?...3、Chrome 控制台中原生支持类jQuery的选择器,也就是说你可以用$加上熟悉的css选择器来选择DOM节点 ? 4、copy通过此命令可以将在控制台获取到的内容复制到剪贴板 ?...2、利用控制台输出图片 ? 3、指定输出文字的样式 ? 最后说一下chrome控制台一个简单的操作,如何查看页面元素,看下图就知道了 ? 你在控制台简单操作一遍就知道了,是不是觉得很简单!

    1.3K40

    Chrome控制台骚操作,知道这些事半功倍

    Chrome 浏览器想必是每个前端工程师必备的利器之一,速度快、体积小、支持的特性也比其他浏览器多;除此之外,它还拥有强大的控制台功能,但很多开发者并没有用出控制台的精髓,只是使用 console.log...如果 log() 里第一个参数是带有特殊标识符的字符串的话,控制台会根据不同的标识符来把后面的参数填充到前面的字符串中去。常见的标识符有: %s 表示输出字符串。...区别:console.dir(); 是将 DOM 结点以 JavaScript 对象的形式输出到控制台,而 console.log(); 是直接将 DOM 结点以 DOM 树的结构进行输出,与在元素审查时看到的结构是一致的...有的时候后端传回来一大串数据,如果直接 console.log(); 或是通过抓包工具来查看,肯定会让你晕头转向,这个时候 console.table(); 可以发挥作用了,以表格的形式呈现数据,自然一目了然...另外值得一赞的是,Chrome 控制台中原生支持类 jQuery 的选择器,也就是说你可以用 $ 加上熟悉的 css 选择器来选择 DOM 节点。

    1.6K10

    这5个 console.log() 技巧帮你提高工作效率

    幸运的是,console.log()可以使用%s,%i等说明符以sprintf()的方式格式化字符串。...交互展示 日志样式化依赖于主机的控制台实现。像Chrome和Firefox这样的浏览器提供对象和数组的交互展示,而 Node 控制台输出为文本。...来看看Chrome如何打印普通对象,数组和DOM树,可以通过展开和折叠与这些元素进行交互。...4.4 交互式嵌套里的消息 %o说明符(为值关联了正确的打印格式)可以在文本消息中插入数组,对象,DOM元素和常规文本,而不会失去交互性。...在 Node 控制台中打印大对象 Node中的log以纯文本形式输出。 但是,Node 中的console.log()不会显示具有深层嵌套的对象:第3级的对象显示为[Object]。

    1.3K60

    Chrome 调试技巧

    本文调试均在chrome浏览器进行 alert 这个不用多说了,不言自明 console 基本输出 想必大家都在用console.log在控制台输出点东西,其实console还有其它的方法: console.log...注意上面输出的error和throw出的error不一样,前者只是输出错误信息,无法捕获,不会冒泡,更不会中止程序运行。...DOM BreakPoints:主要包括下列DOM断点,注册方式见下图 当节点属性发生变化时断点(Break on attributes modifications) 当节点内部子节点变化时断点(Break...chrome中的调试技巧 DOM元素的控制台书签 Chrome开发者工具和Firebug都提供了书签功能,用于显示你在元素标签页(Chrome)或HTML标签页(Firebug)中最后点击的DOM元素。...(这个和正则表达式的$符号类似,不过顺序不同) 如果你想调试f函数,用debug(f)语句可以增加这种断点。

    2.4K20

    12种 console 相关的方法,帮你快速提高调试效率!(建议收藏)

    使用定时器 console.time和console.timeEnd这两个方法可以用来让WEB开发人员测量一个javascript脚本程序执行消耗的时间。...按名称调试和监控函数 DevTools Sources 面板(或 Firefox 中的调试器)允许打开一个文件,并通过单击行号设置断点。...基于chrome的浏览器也允许你通过在控制台中输入debug(functionName)来设置断点,例如: debug( doSomething ); 该函数必须在全局命名空间中可用,并且浏览器将在调用它时立即启动调试器...或者,“在调试器中打开”图标将在“调试器”窗格中定位处理程序,以便可以设置断点 Chrome的实现没有那么好,但可以通过getEventListeners()函数传递一个DOM节点来查看所有事件监听器...它可以是一个原始值、数组、对象或DOM节点。 当传递一个DOM节点时,copy()将该元素及其所有子元素的HTML放在剪贴板上。这与右键点击一个节点并选择复制,然后选择复制外层HTML是一样的。

    1.1K21

    Firebug中的console tab使用总结

    除此之外,Console还提供了通过命令行方式来调试Javascript的方法。下面就来学习一下Console的用法。 1、Firefox的日志记录(Logging in Firefox)。...通过Console的记录方法,我们可以不再使用烦人的alert或者document.write方法来进行调试。...():向控制台中写入警告信息,带警告图标显示和高亮代码链接;     consle打印字符串支持字符串替换,使用起来就像c里面的printf(“%s",a),支持的类型包括:     %s        ...string,字符串     %d,%i    整型     %f        浮点     %o        对象     如果使用%o的话,对象就会用绿色的超链接表示出来,单击后会将你带到...比如如果我们想知道某个函数是何时和如何被执行的,我们将console.trace()放在这个函数中,我们就能够的看到这个函数被执行的路径。

    70120

    【CSS前置知识】重新认识浏览器那些事

    第二次是在2003年后,IExplorer通过其自身的优势取得了很好的市场成绩,巨大的使用量让其开始蚕食其他浏览器的市场份额。...但是很多后起之秀的浏览器,例如Safari、Firefox、Opera,还有众多国产浏览器,都积极通过各种技术手段和推出更多用户功能的方式对抗IExplorer的打压。...构建DOM树的过程:读取HTML文档的「字节」(Bytes),将字节转换成「字符」(Chars),依据字符确定「标签」(Tokens),将标签转换成「节点」(Nodes),以节点为基准构建「DOM树」。...在下一章中,笔者会安排整章篇幅讲解「回流重绘」以及如何让回流重绘的影响最小化。相信下一章提及的「属性排序」应该比较少同学了解过或使用过,敬请期待。...出现这些私有属性,是因为制定CSS标准的W3C其动作就像蜗牛一样慢,量产一个CSS属性是需走一个很严格很复杂的流程。

    56450

    (转)一探前端开发中的JS调试技巧

    那个时候,网页主要运行在以IE6为主的浏览器中,JS的调试功能还非常弱,只能通过内置于Window对象中的alert方法来调试,那时候看起来应该是这个样子: ?...所以,新一代的浏览器Firefox、Chrome,包括IE,都相继推出了JS调试控制台,支持使用类似”console.log(xxxx)”的形式,在控制台打印调试信息,而不直接影响页面显示。...以Chrome开发者工具为例,我们来看一下JS断点调试的基本方法。 Sources断点 首先,测试代码中我们通过上图console的输出结果可以看出代码应该是正常运行了,但是为什么是应该呢?...既然除了设置断点的方式不一样,功能和Sources面板添加断点效果一样,那么为什么还会存在这种方式呢?...难免遇到直接通过JS代码很难定位代码段的情况,而我们却可以通过开发者工具的Elements面板,快速定位到相关DOM节点,这时候通过DOM断点定位脚本就显得尤其重要了。

    2.8K60

    【干货】最全的JavaScript调试技巧总结,必看!

    那个时候,网页主要运行在以IE6为主的浏览器中,JS的调试功能还非常弱,只能通过内置于Window对象中的alert方法来调试,那时候看起来应该是这个样子: ?...所以,新一代的浏览器Firefox、Chrome,包括IE,都相继推出了JS调试控制台,支持使用类似”console.log(xxxx)”的形式,在控制台打印调试信息,而不直接影响页面显示。...以Chrome开发者工具为例,我们来看一下JS断点调试的基本方法。 Sources断点 首先,测试代码中我们通过上图console的输出结果可以看出代码应该是正常运行了,但是为什么是应该呢?...既然除了设置断点的方式不一样,功能和Sources面板添加断点效果一样,那么为什么还会存在这种方式呢?...难免遇到直接通过JS代码很难定位代码段的情况,而我们却可以通过开发者工具的Elements面板,快速定位到相关DOM节点,这时候通过DOM断点定位脚本就显得尤其重要了。

    1.9K70

    11. 精读《前端调试技巧》

    移动端控制台 Chrome远程调试 app 支持后,连接 usb 或者局域网,即可通过 Dev Tools 调试 webview 页面。 Weinre 通过页面加载脚本,与 pc 端调试器通信。...定制 Chrome 拓展 对于特定业务场景也可以通过开发 chrome 插件来做,比如分析自己网站的结构、版本、代码开发责任人、一键切换开发环境。...在用户设备调试 把控制台输出信息打到服务器,本地通过与服务器建立 socket 链接实时查看控制台信息。...FireFox、Chrome。 删除无用的 css Css 不像 Js 一样方便分析规则是否存在冗余,Chrome 帮我们做了这件事:CSS Tracker。...在 Chrome 快速查找元素 Chrome 会记录最后插入的 5 个元素,分别以 0 ~ 4 的方式在控制台直接输出。 Console.table 以表格形式打印,对于对象数组尤为合适。

    1K40

    探索如何将html和svg导出为图片

    思维导图的节点和连线都是通过 svg 渲染的,作为一个纯 js 库,我们不考虑通过后端来实现,所以只能思考如何通过纯前端的方式来实现将svg或html转换为图片。...处理存在foreignObject标签的情况 svg提供了一个foreignObject标签,可以插入html节点,实际上,笔者就是使用它来实现节点的富文本编辑效果的: 接下来使用前面的方式来导出,...在chrome浏览器和opera浏览器上渲染非常正常,但是在firefox浏览器上foreignObject标签的内容完全渲染不出来: 检查元素也看不出有任何问题,并且神奇的是只要在控制台元素里编辑一下嵌入的...使用img结合canvas导出图片里foreignObject标签内容为空 chrome浏览器虽然渲染是正常的: 但是使用前面的方式导出时foreignObject标签内容却是跟在firefox浏览器里显示一样是空的...果然,在去掉了dom-to-image-more库后,重新使用之前的方式成功导出了,并且在firefox、chrome、opera、360等浏览器中都不存在问题,兼容性反而比dom-to-image-more

    85721

    浏览器工作原理

    1.1 讨论的浏览器   目前使用的主流浏览器有五个:Internet Explorer、Firefox、Safari、Chrome和 Opera浏览器。...解析一个文档就是指将这个文档翻译成一个可以让代码理解和使用的有意义的结构。得到的结构通常是一个代表了该文档结构的节点树,通常称之为解析树或语法树。   ...和书签管理以及前进/后退按钮一样,它也是浏览器在多年发展中的产物。很多网站都普遍存在着一些已知的无效 HTML 结构,每一种浏览器都会尝试通过和其他浏览器一样的方式来修复这些无效结构。   ...有一些呈现对象对应于 DOM 节点,但在树中所在的位置与 DOM 节点不同。...渲染树的其余部分以 DOM 树节点插入的形式来构建。   请参阅关于处理模型的 CSS2 规范。 4.3 样式计算   构建渲染树时,需要计算每一个呈现对象的可视化属性。

    3.3K41

    国庆节前端技术栈充实计划(6):Web 应用的 13 个优化步骤

    运行时也是变化多端的:iOS,Android,Chrome,Firefox,Edge。...一个非常好的实践范例就像 Goggle Images 的搜索工具一样。点击前面的链接并且滑动页面滚动条就可以看到效果了。 3....此特性背后的主要概念就是尽可能多地重用已有的节点。Array ids 使得 DOM 操作引擎可以「知道」在什么时候某个节点可以被映射到数组当中的某个元素。...其他缓存可能被放置在代码里,以优化某些用于脚本存取的通用模式,还有些缓存可能被放置在数据库或者是长运行进程之前。 简而言之,在 Web 应用中使用缓存是一种改善响应时间和减少 CPU 使用的绝佳方式。...这限制了我们对于 DOM 的访问但是可以让浏览器不管脚本的执行状态而继续解析和渲染页面。换句话说,为了获得最佳的启动时间,确保那些对于渲染不重要的脚本已经通过异步属性的方式标记成异步的了。

    1.4K30

    提高 DevTools 控制台调试 console 的 12 种方法

    按名称调试和监视功能 DevTools Sources 面板(或 Firefox 中的 Debugger)允许您通过单击行号来打开文件并设置断点。...基于 Chrome 的浏览器还允许您通过 debug( functionName ) 在控制台中输入来设置断点,例如 debug( doSomething ); 该函数必须在全局名称空间中可用,并且浏览器将在调用调试器后立即启动它...的 monitor( functionName ) 和其相关联的 unmonitor( functionName ) 命令被以类似的方式使用。...查找并修复事件侦听器 Firefox DevTools 检查器面板在任何附加了处理程序的 DOM 元素旁边显示一个事件图标。 单击该图标以查看功能名称,然后单击左侧的箭头图标以展开代码。...另外,“在调试器中打开” 图标可在 “调试器” 窗格中找到处理程序,因此你可以设置断点: Chrome 的实现并不理想,但是您可以通过将 DOM 节点传递给 getEventListeners() 函数来查看所有事件侦听器

    72610
    领券