拜託,請你愛用 console.log


Posted by saffran on 2021-02-05

console.log() 來 debug 是一個快速又有效的方法

作法:
如果不確定 bug 發生在哪邊,
就在「每一行」或是「有疑惑的地方」,都加上 console.log(),印出自己覺得有意義的資訊
然後,就可以看看 log 出來的結果,是不是跟自己預期的一樣

示範:要怎麼用 console.log() 來 debug

console.log() 要加在哪些地方呢?

  1. 先看一開始的 num 是多少,比較方便 debug
  2. 在 for loop 裡面,看 i 跑到多少
  3. 在 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

#javascript







Related Posts

變調的 Hacktoberfest 與 amazing project

變調的 Hacktoberfest 與 amazing project

第七天:API Server【一】

第七天:API Server【一】

Web開發學習筆記09 — 陣列操作方法(Array Methods)& 箭頭函式(Array Function)

Web開發學習筆記09 — 陣列操作方法(Array Methods)& 箭頭函式(Array Function)


Comments