【WEB】JS常见错误与处理错误策略

1.类型转换错误

(1)类型转换错误发生在使用某个操作符,或者使用其他可能会自动转换值的语言结构。在使用==和!=操作符,最容易发生类型转换错误。
因此强烈推荐使用===
(2)在if,for,while等流控制语句中使用非布尔值,容易出错
错误示范:

function concat(st1,st2,st3){
    var result=st1+st2;
    if(st3){//绝对不要这样!!
        result+=st3;
    }
    return result;
}

正确做法:在条件比较时,切实传入bool值

function concat(st1,st2,st3){
    var result=st1+st2;
    if(typeof st3 == "string"){
        result+=st3;
    }
    return result;
}

2.数据类型错误

在将预料之外的值传给函数时,最容易发生数据类型错误。
错误示范:

function getQueryString(url){
    var pos=url.indexOf("?");//只要传入其他类型就会导致错误
    if(pos>-1){
        return url.substring(pos+1)
    }
}

正确范例:

function getQueryString(url){
iftypeof url == "string"){
    var pos=url.indexOf("?");//只要传入其他类型就会导致错误
    if(pos>-1){
        return url.substring(pos+1)
    }
}
}

其他雷区:
X:if(values!=null)//只能保证相应的值不是null,仅仅这样是不够的
X:if(typeof values.sort==’function’)//不要只针对要使用的某一个特性执行特性检测。在确切知道什么类型的情况下 使用value instanceOf array

3.通信错误

1.在将数据发送给服务器之前,没有使用encodeURIComponent()

你可能感兴趣的:(Web)