溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript工作腳本筆記整理

發(fā)布時間:2020-08-09 00:54:24 來源:ITPUB博客 閱讀:154 作者:智云編程 欄目:web開發(fā)

整理一篇工作中的JavaScript工作腳本筆記,學(xué)而三省吾身。

(1) 獲取Url絕對路徑

function getUrlRelativePath()
    {
        var url = document.location.toString();
        
        var arrUrl = url.split("//");
        var start = arrUrl[1].indexOf("/");
        var relUrl = arrUrl[1].substring(start);//stop省略,截取從start開始到結(jié)尾的所有字符
        if(relUrl.indexOf("?") != -1){
          relUrl = relUrl.split("?")[0];
        }
        return relUrl;
    }

(2) 獲取Url請求參數(shù)

function GetRequest() {
  var url = location.search; //獲取url中"?"符后的字串
  var theRequest = new Object();
  if (url.indexOf("?") != -1) {
    var str = url.substr(1);
    strs = str.split("&");
    for(var i = 0; i < strs.length; i ++) {
      theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
    }
  }
  return theRequest;
}
var Request = new Object();
Request = GetRequest();

(3) 獲取特定請求參數(shù)

function getQueryString(name) {
  var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  var r = window.location.search.substr(1).match(reg);
  if (r != null) {
    return unescape(r[2]);
  }
  return null;
}
// 這樣調(diào)用:
alert(GetQueryString("參數(shù)名1"));

(4) stringify函數(shù)
將現(xiàn)有的對象轉(zhuǎn)換為JSON字符串, 則可以使用 JSON.stringify(obj)函數(shù)

(5) setTimeOut函數(shù)
javascript延時3秒執(zhí)行method函數(shù)
setTimeout(function(){ method()},3000);

(6) js 獲取當前年月日時分秒星期

$("#aa").click(function () {
var date = new Date();
this.year = date.getFullYear();
this.month = date.getMonth() + 1;
this.date = date.getDate();
this.day = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六")[date.getDay()];
this.hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
this.minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
this.second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
var currentTime = "現(xiàn)在是:" + this.year + "年" + this.month + "月" + this.date + "日 " + this.hour + ":" + this.minute + ":" + this.second + " " + this.day;
alert(currentTime);
});

(7) Ajax請求顯示加載中提示

$.ajax({
    type: "post",
    url: loadurl,
    async: true,
    i:Math.random(),
    success:function(data){
        $("#tra_"+id).html(data);
    }
    beforeSend:function(){
        $("#tra_"+id).html('加載中...');
    }
});

(8) 大量if…else…的替換方法

遇到需要寫很多if…else…的情況,或許可以考慮如下的哈希字典匹配的方法,或者用狀態(tài)模式實現(xiàn)

例子:

/* 不用if...else,改成哈希字典匹配的方法 */
                        //if...else...方法
                        /* var itemTypeStr = '';
                        if(rowdata.itemType == '1'){
                            itemTypeStr = '行政許可';
                        }else if(rowdata.itemType == '2'){
                            itemTypeStr = '非行政許可';
                        }else if(rowdata.itemType == '3'){
                            itemTypeStr = '公共服務(wù)事項';
                        } */
                        var itemTypeReg = {
                                '0':'',
                                '1':'行政許可',
                                '2':'非行政許可',
                                '3':'公共服務(wù)事項',
                                '4':'備案',
                                '5':'其他',
                                '6':'行政征收',
                                '7':'行政確認',
                                '8':'行政年檢',
                                '9':'其他行政權(quán)力',
                                '10':'行政處罰',
                                '11':'行政強制',
                                '12':'行政給付',
                                '13':'行政檢查',
                                '14':'行政獎勵',
                                '15':'行政裁決'
                        }
                        var itemType = rowdata.itemType;
                        //itemType為1~15的數(shù),哈希匹配的方法,例子僅供參考
                        itemType = itemTypeReg[itemType];
                        return itemType;

(9) 字符串長度獲取(支持中文)

獲取字符串的長度,有時候經(jīng)常就是str.length直接獲取,其實在字符串沒有中文的情況是可以的,但是一旦有中文,就會發(fā)現(xiàn)這樣獲取其實是不正確的。因為中文占兩個字節(jié)

function getStrRealLen(str) {
    ///<summary>獲得字符串實際長度,中文2,英文1</summary>
    ///<param name="str">要獲得長度的字符串</param>
    var realLength = 0, len = str.length, charCode = -1;
    for (var i = 0; i < len; i++) {
      charCode = str.charCodeAt(i);
      if (charCode >= 0 && charCode <= 128) realLength += 1;
      else realLength += 2;
    }
    return realLength;
  };
前端進階者學(xué)習交流q-u-n---731771211


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI