工做總結(一)

主要記錄一些工做上碰到的問題,不按期跟新

一、由於工做調接口,後端返回字段常常變化,今天遇到這樣一個問題。後端

// 判斷返回 arr ,若是是 null 或 [] 空數組就顯示''
// 假設返回字段是 usersName
// 初始想法,經過if語句,進行判斷,確認返回值。
var userName = [];
var str = '';
if (userName) {//空數組爲true
    alert(123);
    str = userName.join();
}
// 這樣能夠實現需求,可是突然想到一個細節,這個方法只能判斷null爲false,可是判斷userName 空數組則爲ture。
// 若是不是簡單的執行join()方法,邏輯上確定會報錯。其原理是由於,null是對象空指針,布爾值爲false
// 而[]空數組是一個數組對象,布爾值爲ture,因此會執行if裏邊的語句。

二、JS對象不能夠直接調用JQ方法數組

<!-- 使用JQ方法時,注意將DOM對象轉換爲JQ對象 -->
<!-- 好比,使用jQ判斷點擊對象是否包含某一屬性值。-->

<span class="cs cs-one" onclick="edit(this)">點擊我</span>
<script>
    function edit(obj) {
        // 會報錯
        if ( obj.hasClass('cs-one') ) {  
            alert('ok');
        }
    }
</script>
<!-- 執行語句會報錯,hasClass not function。 -->
<!-- 由於hasClass是JQ方法,而經過jS的DOM對象調用方法就會報錯。 -->
<!-- 須要將JS對象轉成JQ對象 $(obj) -->
<script>
    function edit(obj) {
        // 正確
        if ( $(obj).hasClass('cs-one') ) {
            alert('ok');
        }
    }
</script>
<!-- 問題:JS對象能夠直接調用JQ方法嗎? -->

三、如何獲取href連接中字符對應的值this

var id = GetArgsFromHref(href,"id");//獲取id
function GetArgsFromHref(sHref, sArgName){
    var args = sHref.split("?");//將連接切分紅數組
    var retval = "";//須要返回的字符串
  
    if(args[0] == sHref){//參數爲空
         return retval;//返回空字符串,無需作任何處理
    }  
    var str = args[1];//獲取?後邊字符串
    args = str.split("&");//將字符串以&切分紅數組
    for(var i = 0; i < args.length; i ++){//遍歷切分後的數組
        str = args[i];
        var arg = str.split("=");//切分數組中的字符串
        if(arg.length <= 1) continue;//沒有=後邊的值跳過
        if(arg[0] == sArgName) retval = arg[1];//獲取到對應的值
    }
    return retval;//返回對應的值
}
相關文章
相關標籤/搜索