提高您的JavaScript调试技能
#javascript #网络开发人员 #教程 #调试

调试代码是一门艺术。如果您没有良好的调试技能,那真的很痛苦。如果您不了解JavaScript代码的工作机制,则很难找到错误。了解JS提供的调试工具/方法的知识确实很有帮助。此外,有充分的调试知识可以节省大量时间。以下是JS中的一些方法 /声明,可以帮助调试。< / p>

  1. console.log
  2. console.table
  3. Console.Trace
  4. console.warn
  5. Console.Error
  6. console.Assert
  7. 调试器
  8. Console.Time && console.TimeEnd

让我们详细了解这些

console.log

此方法采用任意数量的参数,并在控制台窗口中打印值。当您想知道特定时间时变量的值时,这会很有帮助。

用法:

let student ={
 firstName: "Niroj",
 lastName: "Dahal"
}
console.log('student detail',student);

结果屏幕截图
Result of above code

控制台。表

当您想在控制台中查看数组的值时,此方法很有用。它以表格式显示数据,以便数据可读

用法:

let values = [1,2,3,4,5,6];

console.table(values);     

结果屏幕截图
Result of above code

控制台。跟踪

此方法打印出代码的堆栈轨迹。当从多个位置调用相同的方法时,这很有用,我们很难弄清楚为什么和从指定方法的位置。

用法:

function CalledMethod(){
    console.trace('trace from where this method is called');
}

function CallerMethod1(){
   CalledMethod();
}

function CallerMethod2(){
   CalledMethod();
}
CallerMethod1();
CallerMethod2();    

结果屏幕截图

Result of Above Code

在上面的示例中,我们将称为Method 两次通过 callermethod1 方法,然后再次通过 callermethod2 。如屏幕截图所示,痕迹用控制台写成相同。

控制台

此方法以黄色显示消息(警告)。

用法:

console.warn('This is a warning message');    

结果屏幕截图

Result of above code

控制台

此方法以红色显示消息(错误)。

用法:

console.error('This is an error message');    

结果屏幕截图

Result of above code

console.Assert

如果表达式评估为false,则此方法将消息写给控制台。登录意外/无效条件

很有用

用法:

let studentDataFromApi=null;
console.assert(studentDataFromApi !=null,'Student data cannot be null');    

结果屏幕截图

Result of above code

在此示例中,因为第一次表达式

StudentDataFromapi!= null

评估为false,第二个参数消息已记录。

调试器

此方法用于在程序流期间设置断点。如果您想在某个时间点查看变量的值,请考虑使用调试器。调试器语句停止执行JavaScript,并调用调试器

用法:

function TestDebugger(){
   let val =1,secondVal=2,thirdVal=3,forthVal=4;
    debugger;
}
TestDebugger();    

结果屏幕截图

Result of above code

在屏幕截图中,我们可以清楚地看到调用调试器之前的状态变量值。

Console.Time && console.timeEnd

这些方法用于打印代码的执行时间。

Console.Time启动计时器和控制台。TimeEnd停止以前的计时器,并记录这些方法之间执行代码所花费的时间。两种方法都采用一个字符串参数,用于命名计时器。您可以在Console.Time方法中为计时器指定名称,并指定相同的参数以停止计时器。如果未提供参数,则默认为默认值

用法:

console.time('start');
console.timeEnd('start');    

结果屏幕截图

Result of above code

感谢您的阅读和愉快的调试!