松软科技Web课堂:重要->JavaScript 调试
错误总会发生,每当您写一些新的计算机代码时。
JavaScript 调试
在没有调试器的情况下写 JavaScript 是有难度的。
您的代码中也许包含了语法错误,或者逻辑错误,这些都难以诊断。
通常,如果 JavaScript 代码包含错误,也不会发生任何事情。不会有错误消息,并且不会有任何可供查找错误的指示信息。
通常,每当你尝试编写新的 JavaScript 代码,就可能发生错误。
JavaScript 调试器
查找编程代码中的错误被称为代码调试。
调试并不简单。但幸运地是,所有现代浏览器都有内置的调试器。
内置的调试器可打开或关闭,强制将错误报告给用户。
通过调试器,您也可以设置断点(代码执行被中断的位置),并在代码执行时检查变量。
通常通过 F12 键启动浏览器中的调试器,然后在调试器菜单中选择“控制台”。
console.log() 方法
如果您的浏览器支持调试,那么您可以使用 console.log() 在调试窗口中显示 JavaScript 的值:
实例
<!DOCTYPE html>
<html>
<body> <h1>My First Web Page</h1> <script>
a = ;
b = ;
c = a + b;
console.log(c);
</script> </body>
</html>
提示:请访问我们的 JavaScript Console 参考手册,获取更多有关 console.log() 方法的信息。
设置断点
在调试窗口中,您可在 JavaScript 代码中设置断点。
在每个断点中,JavaScript 将停止执行,以使您能够检查 JavaScript 的值。
在检查值之后,您可以恢复代码执行。
debugger 关键词
debugger 关键词会停止 JavaScript 的执行,并调用(如果有)调试函数。
这与在调试器中设置断点的功能是一样的。
如果调试器不可用,debugger 语句没有效果。
如果调试器已打开,此代码会在执行第三行之前停止运行。
实例
var x = * ;
debugger;
document.getElementbyId("demo").innerHTML = x;
主流浏览器的调试工具
通常,您在浏览器中通过 F12 键启用调试,并在调试器菜单中选择“控制台”。
否则请按照以下步骤:
Chrome
- 打开浏览器
- 从菜单中选择工具
- 从工具中选择开发者工具
- 最后,选择控制台
Firefox Firebug
- 打开浏览器
- 前往网页:http://www.getfirebug.com
- 根据如下指令:如何安装 Firebug
Internet Explorer
- 打开浏览器
- 从菜单选择工具
- 从工具选择开发者工具
- 最后,选择控制台
Opera
- 打开浏览器
- 请前往网页:http://dev.opera.com
- 根据如下指令:如何安装 Firebug Lite
Safari Develop Menu
- 点击 Safari 菜单,偏好设置,高级
- 选中“在菜单栏中启用开发菜单”
- 当菜单中出现新选项“开发”时,选择“显示错误控制台”
您知道吗?
调试是测试、找到并减少计算机程序中 bug(错误)的过程。
历史上首个已知的计算机 bug 是一只卡在电子器件中的真实的虫子(一种昆虫)。
松软科技Web课堂:重要->JavaScript 调试的更多相关文章
- 松软科技Web课堂:JavaScript JSON
JSON 是存储和传输数据的格式. JSON 经常在数据从服务器发送到网页时使用. 什么是 JSON? JSON 指的是 JavaScript Object Notation JSON 是轻量级的数据 ...
- 松软科技Web课堂:JavaScript this 关键词
实例 var person = { firstName: "Bill", lastName : "Gates", id : 678, fullName : fu ...
- 松软科技Web课堂:JavaScript 异常
JavaScript 错误 - Throw 和 Try to Catch try 语句使您能够测试代码块中的错误. catch 语句允许您处理错误. throw 语句允许您创建自定义错误. final ...
- 松软科技Web课堂:JavaScript 正则表达式
正则表达式是构成搜索模式的字符序列. 该搜索模式可用于文本搜索和文本替换操作. 什么是正则表达式? 正则表达式是构成搜索模式(search pattern)的字符序列. 当您搜索文本中的数据时,您可使 ...
- 松软科技Web课堂:JavaScript 类型转换
Number() 转换数值,String() 转换字符串,Boolean() 转换布尔值. JavaScript 数据类型 JavaScript 中有五种可包含值的数据类型: 字符串(string) ...
- 松软科技Web课堂:JavaScript Break 和 Continue
break 语句“跳出”循环. continue 语句“跳过”循环中的一个迭代. Break 语句 在本教程稍早的章节中,您已见到了 break 语句.它被用于“跳出” switch 语句. brea ...
- 松软科技Web课堂:JavaScript For 循环
循环可多次执行代码块. JavaScript 循环 假如您需要运行代码多次,且每次使用不同的值,那么循环(loop)相当方便使用. 通常我们会遇到使用数组的例子: 不需要这样写: text += ca ...
- 松软科技web课堂:JavaScript If...Else 语句
条件语句用于基于不同条件执行不同的动作. 条件语句 在您写代码时,经常会需要基于不同判断执行不同的动作. 您可以在代码中使用条件语句来实现这一点. 在 JavaScript 中,我们可使用如下条件语句 ...
- 松软科技web课堂:JavaScript 比较和逻辑运算符
JavaScript 比较和逻辑运算符 比较和逻辑运算符用于测试 true 或 false. 比较运算符 比较运算符在逻辑语句中使用,以判定变量或值是否相等. 我们给定 x = 5,下表中解释了比较运 ...
随机推荐
- Flow入门初识
Flow是facebook出品的JavaScript静态类型检查工具. 由于JavaScript是动态类型语言,它的灵活性也会造成一些代码隐患,使用Flow可以在编译期尽早发现由类型错误引起的bug, ...
- Java 从入门到进阶之路(十)
之前的文章我们介绍了一下 Java 中的引用型数组类型,接下来我们再来看一下 Java 中的继承. 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继 ...
- 网络ASI
ASIHTTPRequest 基于底层CFNetwork框架,运行效率很高 可惜作者 停止更新,有一些潜在的BUG无人去解决 老项目 ASI + SBJson 只需要用到外面的源文件 ASI还依赖于 ...
- php实现微信拼手气红包
$result = sendHB(3, 5); echo '<pre>'; var_export($result); echo array_sum($result); /** * 拼手气红 ...
- Netty学习——通过websocket编程实现基于长连接的双攻的通信
Netty学习(一)基于长连接的双攻的通信,通过websocket编程实现 效果图,客户端和服务器端建立起长连接,客户端发送请求,服务器端响应 但是目前缺少心跳,如果两个建立起来的连接,一个断网之后, ...
- js递归优化
递归优化 递归在我们平时撸码中会经常用到,不过可能很多人不知道递归的弊端,就是会导致调用栈越来越深.如果没有节制的使用递归可能会导致调用栈溢出. 那什么是递归呢? 递归调用是一种特殊的嵌套调用,是某个 ...
- 前端js,如何在结构化与性能中做取舍。
js发展中的问题 随着前端web技术的发展,js要解决的问题也变得越来越多,越来越复杂. 解决更复杂的问题,需要更好的结构. 解决更复杂的问题,也需要更好的性能. 结构的优化在一定程度上会牺牲性能,同 ...
- 上手spring boot项目(一)之如何在controller类中返回到页面
题记:在学习了springboot和thymeleaf之后,想完成一个项目练练手,于是使用springboot+mybatis和thymeleaf完成一个博客系统,在完成的过程中出现的一些问题,将这些 ...
- APP Distribution Guide 苹果官网
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduct ...
- IOS UISwitch 控件
转自:http://my.oschina.net/wolx/blog/396680 一 UISwitch 简介 二 UISwitch 创建 三设置选中状态 四 添加监听 五 测试代码 5.1 代码 5 ...