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

由浅入深学习JavaScript Debug技巧

控制台(Console) 使用JavaScript做开发时候,控制台非常有用。...当使用C, C++, Java开发时候,我们可以使用终端(terminal)来debug,控制台拥有和终端相似的功能。 错误 控制台显示JavaScript错误。 ?...同时,也显示了错误源代码中位置。点击(index):150就可以跳转到源代码去。 ?...如果想查看变量值,可以选中并把鼠标放在上面: ? 你可以敲击ESC键来快速打开控制台,再次敲击ESC,控制台消失。 ? 你可以手动代码某一行添加断点来暂停执行。...第31行左侧鼠标单击,会出现一个断点符号。 ? 库和压缩代码 有时候,为了debug,你可能需要查看库函数源代码。但是,一般线上代码都是经过压缩,很难看懂。比如jQuery: ?

1.1K90

js_调试_01_14 个你可能不知道 JavaScript 调试技巧

更快更高效地调试你 JavaScript 了解你工具完成任务时有很重要意义。 尽管 JavaScript 是出了名难以调试,但是如果你掌握了一些小技巧,错误和 bug 解决起来就会快多了。..."debugger;" 除了 console.log, “debugger;” 是我最喜欢临时应急调试工具。一旦它在你代码中出现Chrome 自动地执行到它所在位置时停下。...Chrome Inspector 保存最后 5 个元素在其历史记录中,所以最后标记元素可以用 $0 来显示,倒数第二个被标记元素为 $1 ,以此类推。...不相关黑盒脚本 我们经常会在我们网页应用中用到一些库和框架。他们中大部分都经过良好测试且相对来说错误较少。但是,调试器执行调试任务时还是进入这些不相关文件。...如果代码中没有这种情况进行处理,可能导致 bug。 12. console 中快速查询元素 console 中执行 querySelector 一个更快办法是使用 $ 符号。

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

Node.js 项目调试指南

Node.js 是一种流行 JavaScript 运行时,与谷歌 Chrome 浏览器使用相同 V8 引擎。它是跨平台创建 Web 服务器、构建工具、命令行工具等方面越来越受欢迎。...但是,我们编写代码并运行它之后,如果出现问题,事情就不会那么清楚了。如果幸运的话,你代码可能崩溃并显示一条明显错误消息。如果你不走运,你应用程序还是能运行,但是最后结果就不尽人意了。...语法错误 当你代码没有遵循语言规则时,就会导致错误。通常,它可能是语句拼写错误或缺少括号。...VS Code extension 更容易,它会在你编码时验证代码: 逻辑错误 逻辑错误意味着你代码可以正常运行但没有按预期工作。... Chrome 中设置条件断点 假设你有一个运行 1700 次迭代循环,但你最后一次状态感兴趣: for (let i = 0; i < 1700; i++) { // set breakpoint

42320

10 种最常见 Javascript 错误

我们告诉你什么原因导致了这些错误,以及如何防止这些错误发生。如果你能够避免落入这些 “陷阱”,你将会成为一个更好开发者。...如果我们只查看每个错误发生总次数,那么客户量大项目产生错误可能压倒其他错误导致实际收集到是与大多数读者无关错误数据集。 以下是 JavaScript 错误 Top 10: ?...当你读取一个未定义对象属性或调用其方法时,这个错误会在 Chrome出现。 您可以很容易 Chrome 开发者控制台中进行测试(尝试)。 ?...TypeError: Cannot read property ‘length’ 这是 Chrome 中发生错误,因为读取未定义变量长度属性。 您可以 Chrome 开发者控制台中进行测试。...尽管如此,即使有最佳实践,生产中也会出现意想不到错误。能够查看影响用户错误,并拥有快速解决问题好工具,这一点非常重要。推荐 Rollbar。 觉得本文你有帮助?请分享给更多人。

6.7K80

1000个项目中前10名JavaScript错误介绍

为了回馈我们开发者社区,我们查看了数千个项目的数据库,发现了 JavaScript 中频度最高 10 种错误。我们告诉你什么原因导致了这些错误,以及如何防止这些错误发生。...如果我们只查看每个错误发生总次数,那么客户量大项目产生错误可能压倒其他错误导致实际收集到是与大多数读者无关错误数据集。...以下是 JavaScript 错误 Top 10: 为了便于阅读,我们将每个错误描述都缩短了。接下来,让我们深入到每一个错误,来确定什么导致它,以及如何避免创建它。 1....当你读取一个未定义对象属性或调用其方法时,这个错误会在 Chrome出现。 您可以很容易 Chrome 开发者控制台中进行测试(尝试)。...您可以 Chrome 开发者控制台中进行测试。 您通常会在数组中找到定义长度,但是如果数组未初始化或者变量名称另一个上下文中隐藏,则可能遇到此错误

6.2K10

JavaScript 开发者需要了解15个 DevTools 技巧

查找未使用 JavaScript Chrome Coverage 面板可以让你能够快速找到 JavaScript 有没有被使用。...黑盒脚本 有时,你没必要确切地知道 JavaScript 错误是何时或在何处发生。...输入一个表达式,例如 "The value of x is", x 每当执行该行代码时,消息就会出现在 DevTools 控制台中。logpoints 通常将在页面刷新之间保持不变。 10....停止无限循环 触发无限循环是程序里很常见 bug,它可能导致浏览器崩溃。要在 Chrome DevTools 中停止无限循环,可以打开 Sources 面板,然后单击调试暂停图标以停止脚本。...左侧窗口中打开 Overrides 选项卡,单击 + Select folder for overrides ,然后选择你创建目录。系统将提示你允许文件本地保存,并且目录将出现: ?

4.7K20

跟我一起探索 HTTP- 重定向

假如开发人员修改了 HTTP 重定向,而忘记修改 HTML 页面的重定向,那么二者就会不一致,最终结果或者出现无限循环,或者导致其他噩梦发生。...通用服务器中配置重定向 Apache 重定向可以服务器配置文件中设置,也可以每一个文件目录 .htaccess 文件中设置。...重定向死锁(循环) 当后续重定向路径重复之前路径时候,重定向循环就产生了。换句话说,就是陷入了无限循环当中,不会有一个最终页面返回。 大多数情况下,这属于服务器端错误。...假如你修改了服务器配置不久就出现了这个问题,八成是遇到了重定向循环。 有时候,服务器端无法其进行检测:重定向循环发生于多台服务器之间,对于每一台服务器来说,都无法获得一个全景图。...在这种情况下,浏览器负责进行检测,然后返回错误信息。Firefox 呈现如下信息: Firefox 检测到该服务器正在将指向此网址请求无限循环重定向。

33550

H5 游戏开发 2:搭建 Egret 开发环境

如: egret run -a -port 3333 -serverOnly 2.2 VSCode Chrome Debugger Chrome 浏览器中,虽然我们可以直接通过 Sources 面板来...所以,我们需要修改项目根目录 tsconfig.json 文件, CompilerOptions 中加入 SourceMap 配置。...使用时,需要注意两个问题: Egret 虚拟画布节点通常不会自动刷新,需要手动点击“选中点击对象”后刷新按钮来强制刷新; 控制台偶尔会报错 Uncaught TypeError: this.addChild...content-type 设置为 javascript,解决类型嗅探错误 /injectEgretApiDoc\\.js/ resType://js ` 我们运行 w2 add 命令后,将会在 Whistle...以上配置完成后,当你 VSCode 中修改游戏代码时,egret run -a 进程实时监听项目文件变化,自动编译新代码到项目的 bin-debug 目录。

4.8K60

【爬虫知识】浏览器开发者工具使用技巧总结

Console(控制台面板):开发期间,可以使用控制台面板记录诊断信息,或者使用它作为 shell,页面上与 JavaScript 交互。...Lighthouse(诊断面板):当前网页进行网络利用情况、网页性能方面的诊断,并给出一些优化 建议。 [02.png](元素选择):可以直接点击页面的元素,自动跳转到对应源代码。...[21.png]:不要在出现异常时暂停。 Breakpoints:可以看到已经埋下断点。 Scope:可以看到当前局部或者全局变量值,可对值进行修改。...,编写规则,遇到此 JS,就替换成我们本地经过修改 JS,替换后无限 debugger 就不存在了: [28.png] [29.png] 方法置空 直接在 Console 中将无限 debugger...也就是这个技术提供了一个入口,能够针对不同消息或者 api 执行前,先执行我操作。“我操作”就是钩子函数。开发者工具中以 chrome 插件方式,匹配到关键词处插入断点。

1.3K30

Google Earth Engine(GEE)——GEE最全介绍(7000字长文)初学者福音!

代码编辑器具有以下元素(如图 1 所示): JavaScript 代码编辑器 用于可视化地理空间数据集地图显示 API 参考文档(文档选项卡) 基于Git脚本管理器(脚本选项卡) 控制台输出(控制台选项卡...JavaScript 编辑器 JavaScript 编辑器将: 键入时格式化并突出显示代码 在有问题代码下划线,提供修复和其他提示以获得正确语法 自动补全引号、方括号和圆括号 为地球引擎功能提供代码完成提示...例如,图显示了Inspector选项卡中单击地图结果 。光标位置和缩放级别与像素值和地图上对象列表一起显示。对象列表是交互式。要查看更多信息,请展开检查器选项卡中对象。...Inspector 选项卡显示有关光标位置和光标下层值信息。 控制台选项卡 当您print()从脚本中获取某些内容时,例如文本、对象或图表,结果将显示Console 中。...当前内存 此列仅在由于脚本使用过多内存而出现错误出现。它显示发生错误时任何单个计算节点上正在使用内存量。 峰值内存 任何单个计算节点上用于该操作最大内存。

67310

javascript内存管理

,a对象引用数为0,两个对象都可以被回收了 引用计数一个缺点就是可能会出现循环引用情况。...而y中a属性又引用了x。 从而导致循环引用情况,最终导致内存泄露。 实际应用中,IE6 和IE7 DOM对象使用就是引用计数垃圾回收算法,所以可能会出现内存泄露情况。...最后垃圾回收器找到所有的可达对象和不可达对象。 使用不可达来标记不再被使用对象可以有效解决引用计数法中出现循环引用问题。...chrome中输入chrome://inspect: 我们可看到chrome inspect界面,如果你本地已经有开启inspectnodejs程序的话,Remote Target中就可以直接看到...这样最终导致循环引用,造成内存泄露。 怎么解决这个问题呢?

48911

javascript内存管理

,a对象引用数为0,两个对象都可以被回收了 引用计数一个缺点就是可能会出现循环引用情况。...而y中a属性又引用了x。 从而导致循环引用情况,最终导致内存泄露。 实际应用中,IE6 和IE7 DOM对象使用就是引用计数垃圾回收算法,所以可能会出现内存泄露情况。...最后垃圾回收器找到所有的可达对象和不可达对象。 使用不可达来标记不再被使用对象可以有效解决引用计数法中出现循环引用问题。...这样最终导致循环引用,造成内存泄露。 怎么解决这个问题呢?...一个简单办法就是使用完obj之后,将其赋值为null,从而中断循环引用关系: document.write

44230

jQuery格式化显示json数据

但是这样有一个问题,我需要用鼠标copy时,带有减号。复制之后,就是一个错误数据!!!...默认json格式化数据中,key是没有带双引号,我需要默认勾选它,因此要修改js代码。 二、修改插件代码 基于上面的2点需求,下载jq22.com 提供插件后,解压代码。...创建静态目录 项目根目录创建 static 文件夹,static 文件夹里面,创建 plugins 文件夹。 将上面修改插件,复制到此目录。...将index.html中 http引用资源,下载到本地 wget http://www.jq22.com/jquery/bootstrap-3.3.4.css wget http://www.jq22...另外我提供了一个demo,更换bootstrap版本,去除了多余静态文件。 github地址如下: https://github.com/py3study/json_view_demo

6.9K30

资讯 | 2017中国两化融合大会;React 开源许可证风波

2 React 就开源许可证风波进行回复 数周前,Apache 基金决定禁止旗下项目使用 React,因为其标准 BSD 许可证之外添加了专利声明;此举引发了社区广泛讨论,希望 React 能够更新其开源许可证...3 Bootstrap 4 Beta 发布: 经过两年开发,Bootstrap 4 Beta 版本终于发布;该版本中值得注意变化包括,从 Less 迁移到了 Sass、布局系统几乎全部迁移到了 Flexbox...、优化了卡片使用体验、自定义了 Normalize.css、放弃了对于 IE8 与 IE9 支持、复写了几乎所有的 JavaScript 插件、提升了 Tooltip 等使用体验等。...4 Node.js 8.4.0 发布: 本周 Node.js 8.4.0 版本发布,其重要特性变化包括,引入内建 http2 实验支持、允许 inspector 控制台中查看 require()、...8 Google Puppeteer加入到headless Chrome工具行列 Chrome DevTools团队发布了Puppeteer,一个基于Node APIheadless Chrome工具

52920

全网最详细谷歌插件开发小册📚

: ", details); }, {urls: [""]} ); 连接错误事件: 你可以通过监听 chrome.webRequest.onErrorOccurred...注意,修改CSP策略应谨慎处理,因为过于宽松CSP策略可能带来安全风险。...更多关于CSP信息,可以参考 Chrome 插件开发官方文档 。 深入了解Chrome API 开发Chrome插件时,我们频繁地使用Chrome API。...发布和更新插件时,需要确保插件完整性、安全性,并遵守Chrome Web Store规定和政策。 插件版本管理与错误处理 插件开发和维护过程中,版本管理和错误处理是非常重要。...可以使用try...catch语句来捕获并处理可能出现错误,以及使用console.error()方法将错误信息输出到控制台

67920

处理一个NodeJS程序内存泄露问题

占用内存与程序执行速度间取得平衡 使用rrdtool查看heap堆大小变化情况 最开始我使用node-inspector查看node进程heap内存占用情况。...port=5858,chrome开发者工具里可以对node进程Heap进行dump。 但发现使用node-inspector每次抓取heap快照时会引起GC。...场景里本身就是一个死循环,不停有promise对象加入到这个串里,最终导致进程OOM退出。...--trace_gc_verbose之类参数,但在控制台上看到数字不太直观,也可采用生成rrd文件方式,改明我也写一下npm库,供大家更直观查看NodeJSGC状况。...抽空要再看看rrdtool文档 参考 https://blog.eood.cn/node-js_gc https://developer.chrome.com/devtools/docs/javascript-memory-profiling

2.1K90

chrome插件开发教程

越来越多前端开发人员喜欢Chrome里开发调试代码,Chrome有许多优秀插件可以帮助前端开发人员极大提高工作效率。...YSlow YSlow可以分析网页,并为改善网页性能提出修改建议,这些功能基于高性能网页规则集。YSlow可以根据预定义三个规则集或用户自定义规则集来网页进行分级。...JavaScript Errors Notifier 安装该扩展后,会在Chrome地址栏中以图标形式提示JavaScript错误,因为Chrome默认只有打开console才会显示错误。...如果是Chrome控制台资源选项里查看代码则推荐使用Chrome自带"pretty print"功能,也就是点击"{ }"图标。...IE Tab Chrome中打开IE浏览器标签页,你可以打开一个标签来运行Internet Explorer,让你看到网页IE浏览器看起来如何。

1.7K30
领券