【工具类】利用 VsCode 调试代码

    科技2025-09-01  34

    利用Vs Code 调试代码

    1.练习Math函数

    Math.abs(-1) 结果:1 Math.ceil(4.8) 结果:5 Math.floor(6.4) 结果:6 Math.max(6,7) 结果:7 Math.min(19,20) 结果:19 Math.pow(2,8) 结果:256 Math.sqrt(9) 结果:3 Math.acos(90) 结果:NaN Math.abs(-1) 结果:1 Math.cos(1) 结果:0.540… Math.sin(0.5) 结果:0.47… Math.tan(1) 结果:1.55… Math.random() 结果:0.5796.. Math.asin(-1) 结果:-1.57.. Math.PI 结果:3.1415926.. Math.atan(-1) 结果:-0.785.

    2.main.js

    let data=[1,2] for (let value of data) { console.log(value); } let obj={a:1,b:2} for (let k of Object.keys(obj)) { console.log(k, obj[k]); } 刚开始的时候,在第7行设置好断点和监视变量,可以看到,变量: obj:Object{a:1,b:2} k:“a” 同时调试控制台结果为1 2 当第一次点击单步跳过时,黄色标记由第7行跳到第6行,同时k的值变为undefined—这时k的值并没有定义出来,调试控制台上显示出a 1,因为在(1)中是k的值已经为a,但是当时设置了断点而不会显示出来,当单步跳过(向上跳跃),会把k=a时,obj[a]的结果显示出来为1

    当再次点击单步跳过时,这时候黄色标记由第6行跳到第7行(向下跳跃),同时监视窗口中,k的值由undefined变为b,因为obj的键有两个,因为之前已经执行过一次了—k:a,obj[a]=1,所以当再次执行到这里时,k的值变为b,但调试控制台并没有显示出obj[b]的值,因为执行到这里时是内联断点处,会中断该行执行

    当再次点击单步跳过时,黄色标记由第7行跳到第6行,同时k的值变为undefined—这时k的值并没有定义出来,调试控制台上显示出a 1 b 2,因为在(3)中是k的值已经为b,但是当时设置了断点而不会显示出来,当单步跳过(向上跳跃),会把k=b时,obj[b]的结果显示出来为2

    再次点击单步跳过时,这时已经检测不到变量k,所以k的值为not available(无效),说明已出去了作用域的范围

    100内的素数

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> *{margin: 0;padding: 0;} span{ display: inline-block; width: 60px; height: 16px; line-height: 16px; padding: 2px; margin: 5px; border: 1px solid red; text-align: center; } a{ text-decoration: none; } </style> </head> <body> <div id="milk"></div> </body> <script> var milk=document.getElementById("milk"); var str=""; for(var i=2;i<=100;i++){ var count=0; for(var j=1;j<=i;j++){ if(i%j==0){ count++; } } if(count==2){ str+="<span>"+i+"</span><br>"; } count=0; } milk.innerHTML=str; </script> </html>

    Processed: 0.014, SQL: 8