第一次的时候。mid等于 1第二次就等于undefine 了,parseInt((l+r)/2)都等于0。但是mid就是undefine
高亮那句只是将要执行,还没执行语句,要执行了才会赋值
我感觉 你可能是let限定mid的范围了,所以下面再看是undefined建议把let换成var
mid可能被定义了,特别是函数,换一个名字。