FreeCodeCamp学习总结-Debug部分

888 阅读2分钟

前言

FreeCodeCamp是一个以“帮助人们免费学习编程”为主旨的非营利性组织,其网站收录了众多训练式题目。作为前端入门有较大的帮助。

英文版(源)地址:www.freecodecamp.org/

中文社区:chinese.freecodecamp.org/forum/t/top…

此系列博文为相关知识点记录,算是自己对前端入门的一个回顾。有空还是强烈建议去刷一遍原题+知识点

DEBUG

对程序员来说,调试是一种非常有用并且必不可少到技能。在测试阶段,通过调试检查代码是否按预期执行。调试就是找 bug 然后修复 bug 的过程。你花时间写了一段漂亮的代码,感觉良好很难看出有错误。 代码中的错误通常有三种情形:1)语法错误导致程序停止运行,2)代码无法执行或具有意外行为导致运行时错误,以及 3)代码有语义(逻辑)错误,没有实现原来的意图。

主流的代码编辑器(还有你的经验)可以帮你发现语法错误。语义和运行时错误会难找一点。这些错误可能会导致程序崩溃,死循环,或者输出错误的结果。调试就是去理解代码为什么会出现这样的错误。

开始

  • 使用控制台检查变量值
  • 了解 freeCodeCamp 和浏览器控制台之间的差异
    • 如果你不打算执行挑战的测试,而只想查看自己调用console.log()的输出,可以使用console.clear()。
  • 使用 type of 检查变量的类型
console.log(typeof ""); // 输出 "string"
console.log(typeof 0); // 输出 "number"
console.log(typeof []); // 输出 "object"
console.log(typeof {}); // 输出 "object"
  • JavaScript 有六种原始(不可变)数据类型:Boolean,Null,Undefined,Number,String, 和Symbol(ES6 新增)和一种可变的数据类型:Object。注意,在 JavaScript 中,数组在本质上是一种对象
  • 捕获拼错的变量名和函数名
  • 捕获未闭合的括号、方括号、大括号和引号
  • 捕捉单引号和双引号的混合用法
    • 当然,只使用一种引号是可以的。你可以使用反斜杠 () 转义字符来转义字符串中的引号:
// 一种引号的正确使用方式:
const allSameQuotes = 'I\'ve had a perfectly wonderful evening, but this wasn\'t it.';
  • 捕获使用赋值运算符而不是相等运算符
  • 捕捉函数调用后缺少的左括号和右括号
function myFunction() {
  return "You rock!";
}
let varOne = myFunction; // 将函数赋值给变量
let varTwo = myFunction(); // 将函数返回值 "You rock!"赋给变量
  • 调用函数时,捕获以错误顺序传递的参数
  • 捕获使用索引的时候出现的错误
  • 重新初始化循环中的变量时要小心
  • 使用有效的终止条件防止无限循环