亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Operasi DOM yang berkaitan untuk membangunkan troli beli-belah dengan JavaScript (2)

Dalam bahagian sebelumnya, kami terutamanya memperoleh objek nod untuk dikendalikan

Bahagian ini terutamanya melibatkan tetapan kuki dan operasi pemerolehan, menggunakan corak reka bentuk tunggal untuk reka bentuk enkapsulasi

Corak reka bentuk kes tunggal

Berikut ialah pengenalan Wikipedia kepada corak tunggal:

Apabila menggunakan corak tunggal, kelas yang menjana singleton mesti memastikan bahawa hanya satu contoh wujud keseluruhan sistem Hanya satu objek global diperlukan untuk menyelaraskan keseluruhan kelakuan sistem. Sebagai contoh, dalam fail konfigurasi keseluruhan sistem, data konfigurasi mempunyai objek tunggal untuk bacaan dan pengubahsuaian bersatu Apabila objek lain memerlukan data konfigurasi, mereka juga memperoleh data konfigurasi melalui objek tunggal ini pengurusan konfigurasi.

Idea corak tunggal ialah: kelas boleh mengembalikan rujukan kepada objek (dan ia akan sentiasa sama) dan kaedah untuk mendapatkan contoh (kaedah statik, biasanya menggunakan nama getInstance). Kemudian apabila kita memanggil kaedah ini, jika rujukan yang dipegang oleh kelas tidak kosong, rujukan akan dikembalikan jika tidak, contoh kelas akan dibuat, dan rujukan contoh akan diberikan kepada rujukan yang dipegang oleh kelas dan. kemudian kembali. Pada masa yang sama, takrifkan pembina kelas sebagai kaedah persendirian untuk menghalang fungsi lain daripada menggunakan pembina untuk membuat instantiate objek, dan hanya mendapatkan satu-satunya contoh kelas melalui kaedah statik kelas.

Borang penuh: [] adalah pilihan

document.cookie = “name=value[;expires=date][;path=path-to-resource][;domain=nama domain][;secure]”

<script>
var cookieObj = {
    /*
     增加或修改cookie
     參數(shù):o 對(duì)象{}
     name:string cookie名
     value:string cookie值
     expires:Date對(duì)象 過期時(shí)間
     path:string 路徑限制
     domain:string 域名限制
     secure:boolean  true https  false或undeinfed
     */
    set: function(o) {
        var cookieStr = encodeURIComponent(o.name) + "=" + encodeURIComponent(o.value);
        //encodeURIComponent() 函數(shù)可把字符串作為 URI 組件進(jìn)行編碼。
        if(o.expires) {
            cookieStr += ";expires=" + o.expires;
        }
        if(o.path) {
            cookieStr += ";path=" + o.path;
        }
        if(o.domain) {
            cookieStr += ";domain=" + o.domain;
        }
        if(o.secure) {
            cookieStr += ";secure";
        }

        document.cookie = cookieStr;
    },
    /*
     刪除
     參數(shù):n string cookie的名字
     */
    del: function(n) {
        var date = new Date();
        date.setHours(-1);  //setHours() 方法用于設(shè)置指定的時(shí)間的小時(shí)字段。
        //this代表的是當(dāng)前函數(shù)的對(duì)象
        this.set({
            name: n,
            expires: date
        });
    },
    /*查找*/
    get: function(n) {
        n = encodeURIComponent(n);
        var cooikeTotal = document.cookie;
        var cookies = cooikeTotal.split("; ");
        //split() 方法用于把一個(gè)字符串分割成字符串?dāng)?shù)組。
        for(var i = 0, len = cookies.length; i < len; i++) {
            var arr = cookies[i].split("=");
            if(n == arr[0]) {
                return decodeURIComponent(arr[1]);
            //decodeURIComponent() 函數(shù)可對(duì) encodeURIComponent() 函數(shù)編碼的 URI 進(jìn)行解碼。    
            }
        }
    }
}
</script>

Buat fail cookie.js dan letakkan kod JavaScript di atas ke dalamnya.

<script type="text/javascript" src="cookie.js"></script>

akan dipanggil dari halaman HTML kemudian untuk mencapai kesan modul fungsi.


Meneruskan pembelajaran
||
<script> var cookieObj = { /* 增加或修改cookie 參數(shù):o 對(duì)象{} name:string cookie名 value:string cookie值 expires:Date對(duì)象 過期時(shí)間 path:string 路徑限制 domain:string 域名限制 secure:boolean true https false或undeinfed */ set: function(o) { var cookieStr = encodeURIComponent(o.name) + "=" + encodeURIComponent(o.value); //encodeURIComponent() 函數(shù)可把字符串作為 URI 組件進(jìn)行編碼。 if(o.expires) { cookieStr += ";expires=" + o.expires; } if(o.path) { cookieStr += ";path=" + o.path; } if(o.domain) { cookieStr += ";domain=" + o.domain; } if(o.secure) { cookieStr += ";secure"; } document.cookie = cookieStr; }, /* 刪除 參數(shù):n string cookie的名字 */ del: function(n) { var date = new Date(); date.setHours(-1); //setHours() 方法用于設(shè)置指定的時(shí)間的小時(shí)字段。 //this代表的是當(dāng)前函數(shù)的對(duì)象 this.set({ name: n, expires: date }); }, /*查找*/ get: function(n) { n = encodeURIComponent(n); var cooikeTotal = document.cookie; var cookies = cooikeTotal.split("; "); //split() 方法用于把一個(gè)字符串分割成字符串?dāng)?shù)組。 for(var i = 0, len = cookies.length; i < len; i++) { var arr = cookies[i].split("="); if(n == arr[0]) { return decodeURIComponent(arr[1]); //decodeURIComponent() 函數(shù)可對(duì) encodeURIComponent() 函數(shù)編碼的 URI 進(jìn)行解碼。 } } } } </script>