1. 程式人生 > 其它 >記錄最近前端開發時遇到的一些js相關問題和解決方案

記錄最近前端開發時遇到的一些js相關問題和解決方案

背景

最近做了一個前後端開發,自從前後分離,js碰的都很少了,就導致一個需求開始前端的時候效率比較慢,特記錄一下。

內容

js的正則表示式校驗

var  reg = "^[A-Za-z0-9;]+$";
var tenantIdTest = "12322```31";
if (tenantId.match(reg) == null){
   console.log("租戶ID["+tenantId+"]的輸入格式不對!");
}else{
     console.log("ok");
}

js最好的測試方式

使用console 在控制檯打印出
console.log("2222");

js在一個function連續呼叫兩個function注意事項

如果連續呼叫兩個function,比如A和B,假設想要的效果是先A後B,如果對B新增條件限制,比如基於A的結果決定是否執行B,那麼就會出現A和B同時執行。

js校驗是否包含

        //沒有包含則返回-1,此時說明存在多個節點
        if (nodeIds.indexOf(nodeId) == -1){
            alert("不支援多個節點同時切換!");
            return false;
        }

js陣列

//校驗待切換的字尾和目的字尾需要不一樣
    var switchToAbSuffixList = new Array();
    var errorTenantIds = new Array();
    switchToAbSuffixList.push(switchToAbSuffix);
    for(var i=0;i<tenantInfoDetailsByTable.length;i++){
        var abSuffix = tenantInfoDetailsByTable[i].abSuffix;
        //有包含的返回大於-1的值,此時說明存在原字尾和目的字尾相同的租戶
        if (switchToAbSuffixList.indexOf(abSuffix) > -1){
            var tenantId = tenantInfoDetailsByTable[i].tenantId;
            errorTenantIds.push(tenantId);
        }
    }
    if (errorTenantIds.length > 0) {
        alert(errorTenantIds+"的字尾已是"+switchToAbSuffix+",無需再切換,請手動移除後重試!");
        return false;
    }