用 console.log()
來 debug 是一個快速又有效的方法
作法:
如果不確定 bug 發生在哪邊,
就在「每一行」或是「有疑惑的地方」,都加上 console.log()
,印出自己覺得有意義的資訊
然後,就可以看看 log 出來的結果,是不是跟自己預期的一樣
示範:要怎麼用 console.log()
來 debug
console.log()
要加在哪些地方呢?
- 先看一開始的
num
是多少,比較方便 debug - 在 for loop 裡面,看 i 跑到多少
- 在 if 判斷式裡面:
console.log()
要加在 return 的前面,如果加在 return 後面是沒有用的,因為只要一執行到 return 就會跳出 function
function isPrime(num){
console.log('num: ', num)
if(num === 1) return false
if(num === 2) return true
for(let i=2; i<num; i++){
console.log('i: ', i)
if(num % i === 0){
console.log('num % i === 0', num, i) // 記得要把 console.log 加在 return 的前面
return false
} else{
console.log('else', num, i) // 記得要把 console.log 加在 return 的前面
return true
}
}
}
console.log(isPrime(15))
output:
num: 15
i: 2
else 15 2
true
看看 output,就會發現上方程式碼的問題出在哪裡了
改正後的程式碼:
function isPrime(num){
if(num === 1) return false
if(num === 2) return true
for(let i=2; i<num; i++){
if(num % i === 0) return false
}
return true
}
console.log(isPrime(15))
// output: false