溫馨提示×

溫馨提示×

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

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

JS常見方法封裝的案例

發(fā)布時間:2021-02-20 10:37:28 來源:億速云 閱讀:146 作者:小新 欄目:web開發(fā)

小編給大家分享一下JS常見方法封裝的案例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1、判斷是否是微信瀏覽器

function isWechat() {
    var ua = navigator.userAgent.toLowerCase();
    if (ua.match(/MicroMessenger/i) == 'micromessenger') {
        return true;
    } else {
        return false;
    }
}

2、判斷是否是PC/WAP端

function isPC() {
    var userAgentInfo = navigator.userAgent;
    var Agents = ['Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod'];
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    return flag;
}

3、獲取URL參數(shù)

function getUrlParam(name, url) {
    if (!url) url = location.href;
    if (url.indexOf('?') == -1) return '';
    try {
        var re = new RegExp("" + name + "=([^&?]*)", "ig");
        return ((url.match(re)) ? (decodeURIComponent(url.match(re)[0].substr(name.length + 1))) : '');
    } catch (_e) {
        return '';
    }
}

4、獲取cookie

function getCookie(name, defaultVal = null) {
    var arr,
    reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
    if (arr = document.cookie.match(reg)) {
        return unescape(arr[2]);
    } else {
        return defaultVal;
    }
}

5、設置cookie

function setCookie(name, value, seconds) {
    var expires = new Date();
    expires.setTime(expires.getTime() + parseInt(seconds) * 1000);
    var domain = document.domain;
    var domainArr = domain.split('.');
    if (domainArr.length >= 3) {
        domainArr.shift();
        domain = domainArr.join('.');
    }    
    document.cookie = escape(name) + '=' + escape(value) + (seconds ? ('; expires=' + expires.toGMTString()) : "") + '; path=/; domain=.' + domain + ';';
}

6、刪除cookie

// this指上面的方法
function delCookie(name) {
    this.setCookie(name, '', -1);
}

7、保存網(wǎng)頁到桌面

function toDesktop(sUrl,sName){
    try {
        var WshShell = new ActiveXObject("WScript.Shell");
        var oUrlLink = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop")+ "\\" + sName + ".url");
        oUrlLink.TargetPath = sUrl;
        oUrlLink.Save();
    }catch(e){
        alert("當前IE安全級別不允許操作!");
    }
}

8、添加網(wǎng)頁到收藏

function AddFavorite(title, url){
    try {
        window.external.addFavorite(url, title);
    }catch (e) {
        try {
            window.sidebar.addPanel(title, url, "");
        }catch (e) {
            alert("抱歉,您所使用的瀏覽器無法完成此操作。\n\n加入收藏失敗,請使用Ctrl+D進行添加");
        }
    }
}

9、判斷是否為空

function isEmpty(val){
    if(typeof val == "undefined" || val == null || val == ""){
        return true;
    } else {
        return false;
    }
}

10、值是否在數(shù)組內(nèi)

function inArray(search, array) {
    for (var i in array) {
        if (array[i] == search) {
            return true;
        }
    }
    return false;
}

11、數(shù)組去重

function arrayUnique(arr) {
    return [...new Set(arr)];
}

12、設置Localstorage

function setLocalstorage(key, value) {
    if(!window.Storage) {
        console.error("該瀏覽器不支持Localstorage屬性!!");
        return false;
    } else {
        localStorage.setItem(key, value);
    }
}

13、獲取Localstorage

function getLocalstorage(key) {
    var value = localStorage.getItem(key);
    if (value) {
        try {
            var value_json = JSON.parse(value);
            if (typeof value_json === 'object') {
                return value_json;
            } else if (typeof value_json === 'number') {
                return value_json;
            }
        } catch(e) {
            return value;
        }
    } else {
        return false;
    }
}

14、移除單個Localstorage

function removeLocalstorage(key) {
    localStorage.removeItem(key);
}

15、清除整個Localstorage

function clearLocalstorage() {
    localStorage.clear();
}

以上是“JS常見方法封裝的案例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

js
AI