利用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>