2022年7月16日 星期六

JavaScript 小陷阱

 function demo(myType)

{

    if (type=1)

    {

        console.log("Type is 1");

    }

    else

    {

        console.log("Type is 2");

    }

}

    

demo(2)


上面這段程式碼乍看之下好像沒問題,但無論type多少,都會輸出type is 1. 

原因出在 if (type=1) 永遠成立,注意是一個"=",也就是指定的意思.. 

也就是你指定type 為1 這句話並沒有毛病,而且永遠成立,所有流程都會進這裡。

在幫朋友debug 時,一眼掃過去真的不容易發現。



沒有留言:

張貼留言