成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JS學(xué)習(xí)筆記 - 封裝 Cookie 應(yīng)用接口

oneasp / 2859人閱讀

摘要:本文章記錄本人在學(xué)習(xí)中看書理解到的一些東西,加深記憶和并且整理記錄下來(lái),方便之后的復(fù)習(xí)。封裝函數(shù)在默認(rèn)的情況下存取是一件比較麻煩的事情。而且信息的字符串本身就令人討厭,在經(jīng)常使用信息的應(yīng)用中格外的不方便。

  

本文章記錄本人在學(xué)習(xí) Cookie 中看書理解到的一些東西,加深記憶和并且整理記錄下來(lái),方便之后的復(fù)習(xí)。

封裝函數(shù)

在默認(rèn)的情況下存取Cookie是一件比較麻煩的事情。由于Cookie是通過(guò)字符串來(lái)存儲(chǔ)信息的,所以容易導(dǎo)致在執(zhí)行賦值運(yùn)算的時(shí)需要轉(zhuǎn)換讀取信息的數(shù)據(jù)類型。而且Cookie信息的字符串本身就令人討厭,在經(jīng)常使用Cookie信息的 Web 應(yīng)用中格外的不方便。所以需要自行的封裝一個(gè)Cookie函數(shù)來(lái)提供開發(fā)效率!

定義一個(gè)函數(shù)Cookie(),這個(gè)函數(shù)能夠?qū)懭胫付ǖ?b>Cookie信息,刪除指定的Cookie信息,也能夠讀取指定名稱的Cookie值,另外,在該函數(shù)中還可以制定Cookie信息的有效期、有效路徑、作用域和安全性選項(xiàng)設(shè)置。完整的代碼:

JavaScriptvar Cookie = function(name, value, options) {
        // 如果第二個(gè)參數(shù)存在
        if (typeof value != "undefined") {
            options = options || {};
            if (value === null) {
                // 設(shè)置失效時(shí)間
                options.expires = -1;
            }
            var expires = "";
            // 如果存在事件參數(shù)項(xiàng),并且類型為 number,或者具體的時(shí)間,那么分別設(shè)置事件
            if (options.expires && (typeof options.expires == "number" || options.expires.toUTCString)) {
                var date;
                if (typeof options.expires == "number") {
                    date = new Date();
                    date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
                } else {
                    date = options.expires;
                }
                expires = "; expires=" + date.toUTCString();
            }
            var path = options.path ? "; path=" + options.path : "", // 設(shè)置路徑
                domain = options.domain ? "; domain=" + options.domain : "", // 設(shè)置域 
                secure = options.secure ? "; secure" : ""; // 設(shè)置安全措施,為 true 則直接設(shè)置,否則為空

            // 把所有字符串信息都存入數(shù)組,然后調(diào)用 join() 方法轉(zhuǎn)換為字符串,并寫入 Cookie 信息
            document.cookie = [name, "=", encodeURIComponent(value), expires, path, domain, secure].join(""); 
        } else { // 如果第二個(gè)參數(shù)不存在
            var CookieValue = null;
            if (document.cookie && document.cookie != "") {
                var Cookie = document.cookie.split(";");
                for (var i = 0; i < Cookies.length; i++) {
                    var Cookie = (Cookie[i] || "").replace( /^s+|s+$/g, "");
                    if (Cookie.substring(0, name.length + 1) == (name + "=")) {
                        CookieValue = decodeURIComponent(Cookie.substring(name.length + 1));
                        break;
                    }
                }
            }
            return CookieValue;
        }
    };
如何使用

寫入Cookie信息:

JavaScript// 簡(jiǎn)單寫入一條 Cookie 信息
cookie("user", "baidu");
// 寫入一條 Cookie 信息,并且設(shè)置更多選項(xiàng)
cookie("user", "baidu", {
    expires: 10, // 有效期為 10 天
    path: "/", // 整個(gè)站點(diǎn)有效
    domain: "www.baidu2.com", // 有效域名
    secure: true // 加密數(shù)據(jù)傳輸
});

2.讀取Cookie信息:

JavaScriptcookie("user");

3.刪除Cookie信息:

JavaScriptcookie("user", null);
  

最后,如果文章有什么錯(cuò)誤和疑問(wèn)的地方,請(qǐng)指出。與sf各位共勉!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/85747.html

相關(guān)文章

  • 前端相關(guān)大雜燴

    摘要:希望幫助更多的前端愛好者學(xué)習(xí)。前端開發(fā)者指南作者科迪林黎,由前端大師傾情贊助。翻譯最佳實(shí)踐譯者張捷滬江前端開發(fā)工程師當(dāng)你問(wèn)起有關(guān)與時(shí),老司機(jī)們首先就會(huì)告訴你其實(shí)是個(gè)沒(méi)有網(wǎng)絡(luò)請(qǐng)求功能的庫(kù)。 前端基礎(chǔ)面試題(JS部分) 前端基礎(chǔ)面試題(JS部分) 學(xué)習(xí) React.js 比你想象的要簡(jiǎn)單 原文地址:Learning React.js is easier than you think 原文作...

    fuyi501 評(píng)論0 收藏0
  • 全棧開發(fā)自學(xué)路線

    摘要:前言這里筑夢(mèng)師是一名正在努力學(xué)習(xí)的開發(fā)工程師目前致力于全棧方向的學(xué)習(xí)希望可以和大家一起交流技術(shù)共同進(jìn)步用簡(jiǎn)書記錄下自己的學(xué)習(xí)歷程個(gè)人學(xué)習(xí)方法分享本文目錄更新說(shuō)明目錄學(xué)習(xí)方法學(xué)習(xí)態(tài)度全棧開發(fā)學(xué)習(xí)路線很長(zhǎng)知識(shí)拓展很長(zhǎng)在這里收取很多人的建議以后決 前言 這里筑夢(mèng)師,是一名正在努力學(xué)習(xí)的iOS開發(fā)工程師,目前致力于全棧方向的學(xué)習(xí),希望可以和大家一起交流技術(shù),共同進(jìn)步,用簡(jiǎn)書記錄下自己的學(xué)習(xí)歷程...

    galaxy_robot 評(píng)論0 收藏0
  • 全棧開發(fā)自學(xué)路線

    摘要:前言這里筑夢(mèng)師是一名正在努力學(xué)習(xí)的開發(fā)工程師目前致力于全棧方向的學(xué)習(xí)希望可以和大家一起交流技術(shù)共同進(jìn)步用簡(jiǎn)書記錄下自己的學(xué)習(xí)歷程個(gè)人學(xué)習(xí)方法分享本文目錄更新說(shuō)明目錄學(xué)習(xí)方法學(xué)習(xí)態(tài)度全棧開發(fā)學(xué)習(xí)路線很長(zhǎng)知識(shí)拓展很長(zhǎng)在這里收取很多人的建議以后決 前言 這里筑夢(mèng)師,是一名正在努力學(xué)習(xí)的iOS開發(fā)工程師,目前致力于全棧方向的學(xué)習(xí),希望可以和大家一起交流技術(shù),共同進(jìn)步,用簡(jiǎn)書記錄下自己的學(xué)習(xí)歷程...

    Scorpion 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<